Commit Graph

39126 Commits

Author SHA1 Message Date
Michal Krol 0742e0b376 svga: Fix relative addressing translation for pixel shaders.
Pixel shaders do not have address registers a#, only one
loop register aL. Our only hope is to assume the address
register is in fact a loop counter and replace it with aL.

Do not translate ARL instruction for pixel shaders -- MOVA
instruction is only valid for vertex saders.

Make it more explicit relative addressing of inputs is only valid
for pixel shaders and constants for vertex shaders.
2010-09-20 09:26:17 +01:00
Corbin Simpson 0d53dfa3c5 r600g: Cleanup viewport floats. 2010-09-19 23:05:02 -07:00
Corbin Simpson e98062673e r600g: Clean up PS setup.
I didn't do r600d according to the docs; I split EXPORT_MODE to be a bit more
useful and obvious. Hope this is okay.
2010-09-19 23:05:02 -07:00
Dave Airlie f4020c66fd r600g: only flush for the correct colorbuffer, not all of them. 2010-09-20 15:39:03 +10:00
Dave Airlie 7e5173d065 r600g: add missing BC_INST wrapper for evergreen 2010-09-20 15:38:40 +10:00
Dave Airlie b110ddd9a9 r600g: fixup r700 CB_SHADER_CONTROL register.
r600c emits this with a mask of each written output.
2010-09-20 15:36:52 +10:00
Dave Airlie d172ef3138 r600g: fix r700 cube map sizing.
this fixes fbo-cubemap on r700.
2010-09-20 15:30:52 +10:00
Dave Airlie 3a1defa5e8 r600g: add color/texture support for more depth formats. 2010-09-20 12:21:35 +10:00
Dave Airlie 2cabbb290f r600g: add z16 to color setup 2010-09-20 12:04:52 +10:00
Dave Airlie 9b146eae25 r600g: fix tiling support for ddx supplied buffers
needed to emit some more relocs to the kernel.
2010-09-20 11:40:33 +10:00
Corbin Simpson c2ba729321 r600g: "tmp" is such a bad name for a texture. 2010-09-19 18:25:02 -07:00
Corbin Simpson 07b9e22a1f r600g: Fix false and true. 2010-09-19 18:25:02 -07:00
Corbin Simpson eb347c7ef0 r600g: Clean up some indentation and |= vs. | usage. 2010-09-19 18:25:01 -07:00
Corbin Simpson 7ee9b0b951 r600g: Deobfuscate and comment a few more functions in r600_hw_states. 2010-09-19 18:25:01 -07:00
Corbin Simpson f76b81423e r600g: Trivially deobfuscate r600_hw_states. 2010-09-19 18:25:01 -07:00
Corbin Simpson 5f5bf25af5 r600g: Use align() instead of handrolled code. 2010-09-19 18:25:01 -07:00
Dave Airlie 8d1ec80319 r600g: drop debugging that snuck in 2010-09-20 10:45:18 +10:00
Dave Airlie 040411de26 r600g: clean up valgrind issues on maxtargets test. 2010-09-20 10:44:44 +10:00
Dave Airlie 4af55364cc r600g: fix fbo-drawbuffers-maxtargets
we were leaking buffers since the flush code was added, it wasn't dropping references.
move setting up flush to the set_framebuffer_state.
clean up the flush state object.
make more space in the BOs array for flushing.
2010-09-20 10:35:38 +10:00
Dave Airlie 3d12c207d7 r600g: send correct surface base update for multi-cbufs 2010-09-20 10:15:26 +10:00
Dave Airlie f59fe9671f r600g: modify index buffers for sizes the hw can't deal with.
this just uses the common code from r300g now in util to do translations on r600g.
2010-09-20 09:57:47 +10:00
Dave Airlie 91b70d8408 util/r300g: split the r300 index buffer modifier functions out to util
These can be used by other drivers, like r600g.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-20 09:38:18 +10:00
Henri Verbeet f1cf04dbc0 r600g: fix exports_ps to export a number not a mask. 2010-09-20 09:30:21 +10:00
Jakob Bornecrantz b83156d42f scons: Link against talloc in the Gallium DRI drivers 2010-09-20 00:03:58 +02:00
Jakob Bornecrantz 00272e9e09 rbug: Add function to get opcode name string 2010-09-20 00:03:58 +02:00
Jakob Bornecrantz 7faa37adf8 rbug: Cast opcode to corrent int size 2010-09-20 00:03:58 +02:00
Henri Verbeet 1934ade183 Revert "r600g: Flush upload buffers before draws instead of before flushes."
This reverts commit a1d9a58b82.
Flushing the upload buffers on draw is wrong, uploads aren't supposed to
cause flushes in the first place. The real issue was
radeon_bo_pb_map_internal() not respecting PB_USAGE_UNSYNCHRONIZED.
2010-09-19 23:03:03 +02:00
Henri Verbeet 0f9181811f r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal(). 2010-09-19 23:03:03 +02:00
Tilman Sauerbeck d323118c3e gallium/docs: Fixed a typo in the SCS opcode description.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-19 22:13:42 +02:00
Luca Barbieri a01578c84f auxiliary: fix depth-only and stencil-only clears
Depth-only and stencil-only clears should mask out depth/stencil from the
output, mask out stencil/input from input, and OR or ADD them together.

However, due to a typo they were being ANDed, resulting in zeroing the buffer.
2010-09-19 21:52:02 +02:00
Henri Verbeet affd46cc2b r600g: Buffer object maps imply a wait.
Unless e.g. PB_USAGE_DONTBLOCK or PB_USAGE_UNSYNCHRONIZED would be specified.
2010-09-19 19:43:05 +02:00
Henri Verbeet de9c8015eb r600g: Remove a redundant flush in r600_texture_transfer_map().
radeon_ws_bo_map() will already take care of that if needed.
2010-09-19 19:43:05 +02:00
Henri Verbeet b68030e9f8 r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().
Having a non-NULL data pointer doesn't imply it's safe to reuse that mapping,
it may have been unmapped but not flushed yet.
2010-09-19 19:43:05 +02:00
Henri Verbeet a1d9a58b82 r600g: Flush upload buffers before draws instead of before flushes.
If a upload buffer is used by a previous draw that's still in the CS,
accessing it would need a context flush. However, doing a context flush when
mapping the upload buffer would then flush/destroy the same buffer we're trying
to map there. Flushing the upload buffers before a draw avoids both the CS
flush and the upload buffer going away while it's being used. Note that
u_upload_data() could e.g. use a pool of buffers instead of allocating new
ones all the time if that turns out to be a significant issue.
2010-09-19 19:43:05 +02:00
Chia-I Wu 2a910b3396 egl: Enable drm platform by default.
This enables EGL_MESA_drm_display for st/egl in the default setup.
2010-09-19 17:35:04 +08:00
Chia-I Wu e4513e7fb9 st/egl: s/kms/drm/ on the drm backend.
s/kms/drm/, s/kdpy/drmdpy/, and so forth.
2010-09-19 17:19:40 +08:00
Chia-I Wu e7424d7240 st/egl: Rename kms backend to drm.
The main use of the backend is to support EGL_MESA_drm_display.  drm
should be a better name.
2010-09-19 17:19:03 +08:00
Chia-I Wu c7c2e7d0ce st/egl: Split modeset code support to modeset.c.
The modeset code supports now obsolete EGL_MESA_screen_surface.  Move it
to a file of its own.
2010-09-19 16:37:48 +08:00
Dave Airlie ed4f740127 r600g: only emit uses waterfall on r6xx hw. 2010-09-19 17:25:50 +10:00
Dave Airlie c5edfcc410 r600g; add uses waterfall to asm cf for r6xx.
On r6xx if an MOVA instruction is emitted we should set this bit.
2010-09-19 17:20:15 +10:00
Tilman Sauerbeck 8861727c91 r600g: Added support for TGSI_SEMANTIC_FACE.
This makes the 'glsl1-gl_FrontFacing var (1)' piglit test pass.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-19 09:21:41 +02:00
Vinson Lee fa10561908 nv50: Remove dead initialization. 2010-09-18 23:07:41 -07:00
Vinson Lee 03cf572598 nv50: Remove dead initialization. 2010-09-18 23:06:29 -07:00
Vinson Lee ef715b866b nv50: Silence missing initializer warning.
Fixes this GCC warning.
nv50_state_validate.c:336: warning: missing initializer
nv50_state_validate.c:336: error: (near initialization for 'validate_list[20].func')
2010-09-18 15:59:00 -07:00
Christoph Bumiller 613c3901c3 nv50: fix typo in fifo packet length limit 2010-09-18 20:53:53 +02:00
Kenneth Graunke dbd2480507 glsl/builtins: Switch comparison functions to just return an expression. 2010-09-18 16:23:48 +02:00
Kenneth Graunke 52f9156e88 glsl/builtins: Fix equal and notEqual builtins.
Commit 309cd4115b incorrectly converted
these to all_equal and any_nequal, which is the wrong operation.
2010-09-18 16:23:48 +02:00
Christoph Bumiller 4c1e7d931d nv50: emit constbuf relocs before uploading constants 2010-09-18 15:22:05 +02:00
Christoph Bumiller 275a81af13 nv50: add relocs for stack and local mem buffers 2010-09-18 15:21:59 +02:00
Kenneth Graunke ca92ae2699 glsl: Properly handle nested structure types.
Fixes piglit test CorrectFull.frag.
2010-09-18 11:21:34 +02:00