Age | Commit message (Collapse) | Author |
|
NOTE: This is a candidate for the 7.9 branch.
|
|
The driver actually creates a 3D texture aligned to POT and does all
the magic with texture coordinates in the fragment shader. It first
emulates REPEAT and MIRRORED wrap modes in the fragment shader to get
the coordinates into the range [0, 1]. (already done for 2D NPOT)
Then it scales them to get the coordinates of the NPOT subtexture.
NPOT textures are now less of a lie and we can at least display
something meaningful even for the 3D ones.
Supported wrap modes:
- REPEAT
- MIRRORED_REPEAT
- CLAMP_TO_EDGE (NEAREST filtering only)
- MIRROR_CLAMP_TO_EDGE (NEAREST filtering only)
- The behavior of other CLAMP modes is undefined on borders, but they usually
give results very close to CLAMP_TO_EDGE with mirroring working perfectly.
This fixes:
- piglit/fbo-3d
- piglit/tex3d-npot
|
|
Some random stuff I had here.
1) Fixed some misleading comments.
2) Removed fake_npot, since it's redundant.
3) lower_texture_rect -> scale_texcoords
4) Reordered and reindented some TEX transform code.
|
|
We ask the texture tile cache to swizzle the color for us since that's
where the view/swizzling info is available.
|
|
Changes in v2:
- Invalidate last_tile_addr on any change, fixing regressions
- Correct coding style
Currently softpipe ends up allocating more than 200 MB of memory
for each context due to the tile caches.
Even worse, this memory is all explicitly cleared, which means that the
kernel must actually back it with physical RAM right away.
This change allocates tile memory on demand.
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
When asking to bind NULL resource assume it's unbinding
so free resource and unreference assoicated buffer.
Also fix pointsprite parameter.
Fix glsl-fs-pointcoord & fp-fragment-position
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Build packet header once and allow to add fake register support so
we can handle things like indexed set of register (evergreen sampler
border registers for instance.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
adding sampler border looks impossible with current design, another day, another corner case not worked out.
|
|
Fixes these GCC warnings.
r600_shader.c: In function 'tgsi_tex':
r600_shader.c:1611: warning: 'src2_chan' may be used uninitialized in this function
r600_shader.c:1611: warning: 'src_chan' may be used uninitialized in this function
|
|
MACRO_SWITCH on R350 appears to use the RV350 mode by default. Who knew?
NOTE: This is a candidate for the 7.9 branch.
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
When occlusion query are running we want to have accurate
fragment count thus disable any early culling optimization
GPU has.
Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Fixes this GCC warning.
r300_state.c: In function 'r300_create_rs_state':
r300_state.c:925: warning: unused variable 'i'
|
|
Move GB_ENABLE to derived rs state, and find sprite coord for the correct
generic and enable the tex coord for that generic.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The trick of casting the coord to an unsigned value only works for POT
textures. Add a bias instead. This fixes a few piglit texwrap failures.
|
|
The variables are used only in currently disabled code.
Fixes this GCC warning.
r600_context.c: In function 'r600_flush':
r600_context.c:76: warning: unused variable 'dname'
r600_context.c:75: warning: unused variable 'dc'
|
|
Fixes this GCC warning.
r600_draw.c: In function 'r600_draw_common':
r600_draw.c:71: warning: unused variable 'format'
|
|
Fixes this GCC warning.
r600_screen.c: In function 'r600_screen_create':
r600_screen.c:239: warning: unused variable 'family'
|
|
|
|
The 2D engine's fill doesn't seem suited for RGBA32F or ZS buffers.
|
|
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
Fixes this GCC warning.
r600_hw_states.c: In function 'r600_translate_fill':
r600_state_inlines.h:136: warning: control reaches end of non-void function
|
|
Fixes this GCC warning.
eg_hw_states.c: In function 'eg_resource':
eg_hw_states.c:525: warning: unused variable 'r'
|
|
The variables are only used in currently disabled code.
Fixes this GCC warning.
r600_state2.c: In function 'r600_flush2':
r600_state2.c:613: warning: unused variable 'dname'
r600_state2.c:612: warning: unused variable 'dc'
|
|
Fixes this GCC warning.
r600_buffer.c: In function 'r600_buffer_transfer_map':
r600_buffer.c:141: warning: unused variable 'rctx'
|
|
|
|
Silence this GCC warning.
r300_state_derived.c: In function 'r300_update_derived_state':
r300_state_derived.c:578: warning: 'r' may be used uninitialized in this function
r300_state_derived.c:578: note: 'r' was declared here
|
|
Up to 2010-09-19:
r600g: fix tiling support for ddx supplied buffers
9b146eae2521d8e5f6d3cbefa4f6f7737666313a
user buffer seems to be broken... new to fix that.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
glxgears seems to work, had somelockup but now they seems to have vanish.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|