Commit Graph

5964 Commits

Author SHA1 Message Date
Andre Maasikas
b86302283b r600: add beginnings of ARL instruction 2009-10-22 09:42:42 +03:00
Mathias Fröhlich
16e21191e2 r300: fix texture size handling with size > 2048
The in kernel texture check fails because of both
bit11 flags being set on 16x16 textures. It tuns out
that these bits are still set and not cleared in the
pp_txpitch field of the texture. The attached patch
at least helps for this case on my machine. It clears
the bit 11 from the pitch field if the texture is smaller
and masks out that hight bits on the conventional width
and height field.

Fixes bug 24584
2009-10-19 11:47:21 -04:00
Robert Noland
8123180ea6 r600: Fix size calculation for 24 bit depth
size was being calculated based on 3 bytes per pixel with 24 bit depth
instead of 4 bytes.  This caused corruption in the bottom 25% of objects.
This finishes fixing the menu/text corruption in compiz/kde4.

Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-10-19 11:09:10 -04:00
Maciej Cencora
3594b53c01 r300: fix vertex program parameters limits 2009-10-16 20:21:17 +02:00
Owen Taylor
3f30b0709b Use the right pitch when rendering to a texture
We need to get the pitch from the texture level we are rendering to,
rather than just using the base texel width.
2009-10-15 11:33:08 -04:00
Robert Noland
16c6a3b71e r600: FRAG_ATTRIB_WPOS and FRAG_ATTRIB_FOGC appear to be supported.
Report unsupported attributes while I'm here.

Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-10-15 11:29:52 -04:00
Robert Noland
a176b1c5d8 r600: cleanup in r600_cs_process_relocs().
Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-10-15 11:29:45 -04:00
Robert Noland
e5d6450c2c radeon: return EINVAL for 0 length buffers.
Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-10-15 11:29:35 -04:00
Andre Maasikas
22a0029a68 r600: fix tfp1 bo size
Setting the wrong bo size resulting in an incomplete
read cache flush when reading the texture.  This fixes the
compiz text corruption.

[agd5f: take hw pitch alignment into account]
2009-10-15 11:24:49 -04:00
Andre Maasikas
a3fec14101 r600: implement ProgramStringNotify
need this to properly test with piglit/glean vert/fragprog tests
copied mostly from r300, many thanks to osiris, nha, airlied, others...
2009-10-15 11:22:18 -04:00
Andre Maasikas
606becc7f3 r600: LIT dst.y gets value from src.x
seems I overlooked this when removing hardcoded swizzles for this
one previously
2009-10-15 11:21:15 -04:00
Andre Maasikas
74c31e5d05 r600: DPH adds w comp of second operand, so set first one to 1 instead 2009-10-15 11:20:04 -04:00
Andre Maasikas
95851d8cb2 r600: fixup KIL instruction a bit
- KILLGT takes 2 arguments
- arb KIL has no dst register
- add TODO about clause ending but currently piglit fp-kil passes and
  does not hang the card
2009-10-15 11:18:53 -04:00
Andre Maasikas
bf68e54a4d r600: use CB_TARGET_MASK instead of CB_SHADER_MASK for setting color mask
makes blend functions work better

Signed-off-by: Dave Airlie <airlied@linux.ie>
2009-10-15 11:17:09 -04:00
Andre Maasikas
5101215a64 r600: user correct alpha blend factor
Signed-off-by: Dave Airlie <airlied@linux.ie>
2009-10-15 11:16:53 -04:00
Andre Maasikas
f7285bdffc r600: clear position enable bit when when wpos is not used by FP
Makes doom3 alot nicer..
2009-10-15 11:16:41 -04:00
Eric Anholt
f3be27c0cf i965: Fix the last valid address setting for the index buffer.
Again, last valid address, not first invalid address.  Fixes regression
in 255e5be265 that the kernel now catches
and caused piglit draw_elements_base_vertex to fail.
2009-10-11 11:21:03 -07:00
Eric Anholt
a82da7fa26 i965: Fix the bounds emitted in the vertex buffer packets.
It's the address of the last valid byte, not the address of the first
invalid byte.

This should also fix problems with rendering with the new sanity checks in
the kernel.
2009-10-11 11:21:03 -07:00
Alex Deucher
194ede4bf9 radeon: fix scissor regression
fixes fdo bug 24248
2009-10-09 15:44:32 -04:00
Brian Paul
79892e7976 intel: use driReadDrawable in do_copy_texsubimage() 2009-10-05 14:26:16 -06:00
Brian Paul
3b7ec94c0d intel: use driReadDrawable, not driDrawable in do_blit_readpixels() 2009-10-05 14:25:36 -06:00
Brian Paul
3b29dcbb5e intel: remove a buffer equality test in _mesa_make_current()
Before, if we called glXMakeCurrent() to change a context's window binding
while an FBO was bound, we weren't updating the intel->driDrawable and
intel->driReadDrawable fields.  This could cause us to dereference a null
pointer elsewhere.
2009-10-05 14:07:29 -06:00
Frederic Crozat
3856c3cc46 r200: remove subpixel offset from viewport
Fixes bug fdo 20340 for r200.
2009-10-04 17:50:16 -04:00
Nicolai Hähnle
bbe384c86a r300: Workaround problem on R500 with very large fragment programs
The non-KMS interface is to blame here. In theory, a proper fix
could be produced that works for the KMS interface only, but it
require cleaning a lot of mess. Easier to just do it right in r300g.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03 01:39:13 +02:00
Eric Anholt
49fbdd18ed i965: Fix massive memory allocation for streaming texture usage.
Once we've freed a miptree, we won't see any more state cache requests
that would hit the things that pointed at it until we've let the miptree
get released back into the BO cache to be reused.  By leaving those
surface state and binding table pointers that pointed at it around, we
would end up with up to (500 * texture size) in memory uselessly consumed
by the state cache.

Bug #20057
Bug #23530
2009-09-30 11:27:27 -07:00
Brian Paul
eeb7e04da6 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch 2009-09-28 09:59:59 -06:00
Michel Dänzer
151e0c0aea intel: Handle GL_RGB8 for glCopyTex(Sub)Image.
Avoids an unnecessary fallback.
2009-09-25 21:00:28 +02:00
Eric Anholt
126d62edd1 i915: Fix GetBufferSubData in the case of a system-memory BO.
Bug #23760 (crashes in wine)
2009-09-24 20:04:42 -07:00
Eric Anholt
cc8084932c intel: Flush the batch when we're about to subdata into a VBO.
This fixes the clears in openarena with the new metaops clear code, and
the new piglit vbo-subdata-sync test.

Bug #23857.
2009-09-24 16:24:46 -07:00
Eric Anholt
54107a0979 i965: Clean up some mess with the batch cache.
Its flagging of extra state that's already flagged by the vtbl new_batch
when appropriate was confusing my tracking down of the OA clear bug.
2009-09-24 16:24:46 -07:00
Eric Anholt
726a04a2cd i965: Emit zero initialization for NV VP temporaries as required.
This is similar to what r300 does inside the driver, but I've added it as
a generic option since it seems most hardware will want it.

Fixes piglit nv-init-zero-reg.vpfp and nv-init-zero-addr.vpfp.
2009-09-24 13:34:06 -07:00
Eric Anholt
a9a47afe7e i965: Remove assert about NV_vp now that it somewhat works. 2009-09-24 13:34:06 -07:00
Eric Anholt
9018a7dd17 i965: Load NV program matrices when required. 2009-09-24 13:34:06 -07:00
Brian Paul
b849c6f1b3 intel: use default array/element buffers in intel_generate_mipmap()
If there happened to be a bound VBO when intel_generate_mipmap() was
called we blew up because of a bad vertex array pointer.

Fixes regnumonline, bug 23859.
2009-09-24 12:41:14 -06:00
Pauli Nieminen
1d2dca194c radeon: Fix scissors for r600 KMS.
Radeon generic scissors code had problem that some of code was using exclusive
and some inclusive bottom right corner. Only r600 driver is using exclusive
coordinate so changed generic code to pass inclusive coordinate and r600 driver
changes BR coordinate to be exclusive.
2009-09-24 20:37:55 +03:00
Andre Maasikas
2058dfaa47 r600: add support for CUBE textures, also TXP
seems to work here ...
2009-09-24 10:03:37 -04:00
Alex Deucher
639fb1472d r600: fix typo in the last commit
128 gprs, 256 reg-based consts
2009-09-24 10:03:22 -04:00
Alex Deucher
28308c9260 r600: various cleanups
- max texture size is 8k, but mesa doesn't support
that at the moment.
- attempt to set shader limits to what the hw actually
supports
- clean up some old r300 cruft
- no need to explicitly disable irqs.  This is fixed
in the drm now.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-09-24 10:03:08 -04:00
Andre Maasikas
ed91d10347 r600: fix some issues with LIT instruction
- MUL_LIT is ALU.Trans instruction
- some Trans instructions can take 3 arguments
- don't clobber dst.x, use dst.z as temp, it'll get written correct
  value in last insn
- respect source swizzles
2009-09-24 10:02:37 -04:00
Alex Deucher
48559c7605 r600: fix point sizes
registers takes radius
2009-09-24 10:02:22 -04:00
Alex Deucher
095db818c6 r600: fix polygon offset 2009-09-24 10:02:08 -04:00
Alex Deucher
ec14d59afa radeon: don't build non-r600 span code on r600 2009-09-24 10:01:56 -04:00
Alex Deucher
dbec27be85 r600: minor span cleanups 2009-09-24 10:01:41 -04:00
Andre Maasikas
2cd2dc34ac r600: support position_invariant programs 2009-09-24 10:00:58 -04:00
Alex Deucher
9437ac9bcc r600: add span support for 1D tiles
1D tile span support for depth/stencil/color/textures

Z and stencil buffers are always tiled, so this fixes
sw access to Z and stencil buffers.  color and textures
are currently linear, but this adds span support when we
implement 1D tiling.

This fixes the text in progs/demos/engine and progs/tests/z*
2009-09-24 09:59:45 -04:00
Alex Deucher
93a7ea6ba0 r600: fix warning
Noticed by rnoland on IRC.
2009-09-24 09:59:32 -04:00
Andre Maasikas
7f5a958c80 r600: fix texcoords from constants
with some minor updates from Richard.
2009-09-24 09:59:15 -04:00
Andre Maasikas
9edd1a441c r600: enable caching of vertex programs 2009-09-24 09:59:00 -04:00
Alex Deucher
6552a103f9 r600: check if textures are actually enabled before submission
noticed by taiu on IRC.
2009-09-24 09:58:36 -04:00
Alex Deucher
65b01d449c r600: fix ftp for dri1
We use t->bo for dri1 since r600 uses CS for dri1.
2009-09-24 09:58:17 -04:00