summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state_derived.c
AgeCommit message (Collapse)Author
2010-12-01r300g: fix texture swizzling with compressed textures on r400-r500Marek Olšák
This fixes all S3TC piglit/texwrap tests. NOTE: This is a candidate for the 7.9 branch.
2010-11-30r300g: fix texture border color once againMarek Olšák
I made the texwrap test be more thorough and realized that this driver code had not been quite right. This commit fixes the border color for depth textures, compressed textures, and 16-bits-per-channel textures with up to 2 channels (R16, RG16). NOTE: This is a candidate for the 7.9 branch.
2010-11-17r300g: print FS inputs uninitialized due to hardware limits to stderrMarek Olšák
2010-11-13r300g: fix texture border color for all texture formatsMarek Olšák
This fixes 8 texwrap format tests. The code should handle arbitrary formats now and is cleaner. NOTE: This is a candidate for the 7.9 branch.
2010-10-27r300g: add a default channel ordering of texture border for unhandled formatsMarek Olšák
It should fix the texture border for compressed textures. Broken since 8449a4772a73f613d9425b691cffba6a261df813.
2010-10-27r300g: Silence uninitialized variable warning.Vinson Lee
Fixes this GCC warning. r300_state_derived.c: In function 'r300_update_derived_state': r300_state_derived.c:593: warning: 'r' may be used uninitialized in this function r300_state_derived.c:593: note: 'r' was declared here
2010-10-24r300g: fix texture border for 16-bits-per-channel formatsMarek Olšák
This is kinda hacky, but it's hard to come up with a generic solution for all formats when only a few are used in practice (I mostly get B8G8R8*8).
2010-09-28r300g: fix swizzling of texture border colorMarek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-26r300g: fix glsl-fs-pointcoordDave Airlie
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>
2010-09-24r300g: Silence uninitialized variable warning.Vinson Lee
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
2010-09-24r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8Marek Olšák
TX_BORDER_COLOR should be formatted according to the texture format. Also the interaction with ARB_texture_swizzle should be fixed too. NOTE: This is a candidate for the 7.9 branch.
2010-09-13r300g: print unassigned FS inputs for DBG_RSMarek Olšák
2010-08-28r300g: fix blitting between 2D NPOT mipmapsMarek Olšák
Even though MIP filtering is not supported, we can bind an arbitrary mipmap as the zero mipmap level. NPOT textures now follow GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MIN_LOD. This fixes piglit/fbo-copyteximage.
2010-08-16r300g: fix assert in the rasterizer block for r3xx-r4xxMarek Olšák
Reported-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
2010-08-15r300g: rename dirty_zmask -> zmask_in_useMarek Olšák
2010-08-11r300g: initialize VAP_VTX_STATE_CNTLMarek Olšák
This got lost during the rasterizer rewrite.
2010-08-11r300g: implement gl_FrontFacingMarek Olšák
2010-08-10r300g: Remove unnecessary header.Vinson Lee
2010-08-08r300g: flush zmasks of zbuffers we are going to use as samplersMarek Olšák
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
2010-08-07r300g: fix cbzb clears when hyperz is offMarek Olšák
2010-08-05r300g: implement hyper-z support. (v4)Dave Airlie
This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-02r300g: fix hardlock when using more than one stuffed sprite coordsMarek Olšák
If texture coordinates come from the vertex shader, there are always 4 components in the rasterizer input packet, but if the coordinates are stuffed (like for point sprites), there are only 2 or 3 components (based on GB_ENABLE) and if we rasterize more, it locks up.
2010-07-25r300g: implement D24X8 texture sampling for r3xx-r4xxMarek Olšák
Because the hw can't sample it, I reinterpret the format as G16R16 and sample the G component. This gives 16 bits of precision, which should be enough for depth texturing (surprisingly, the sampled values are exactly the same as in D16 textures). This also enables EXT_packed_depth_stencil on those old chipsets, finally.
2010-07-25r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák
2010-07-25r300g: cleanup texture creation codeMarek Olšák
This decouples initializing a texture layout/miptree description from an actual texture creation, it also partially unifies texture_create and texture_from_handle. r300_texture inherits r300_texture_desc, which inherits u_resource. The CBZB clear criteria are moved to r300_texture_desc::cbzb_allowed[level]. And other minor cleanups.
2010-07-13r300g: extend and clean up debug loggingMarek Olšák
2010-07-13r300g/swtcl: do not emit texcoords if they are also stuffed in GAMarek Olšák
2010-06-21r300g: fix the KIL opcode for r3xx-r4xx (v4)Marek Olšák
2010-06-20r300g: manually assign texture cache regionsMarek Olšák
This should fix corrupted texturing on r3xx-r4xx.
2010-06-13r300g: remove r300_state.hMarek Olšák
2010-05-28r300g: report vertex format support in is_format_supportedMarek Olšák
2010-05-27r300g/swtcl: fix secondary color and back-face color outputsMarek Olšák
These piglit tests have been fixed: - bgra-sec-color-pointer - glsl-routing See comments at the beginning of r300_vs_draw.c WPOS is implemented too but it doesn't work yet. I'm still working on it.
2010-05-16r300g/swtcl: update PSC only once when a shader is changedMarek Olšák
2010-05-15r300g: the vertex_stream_state atom for SWTCL should be staticMarek Olšák
plus whitespace and comment fixes.
2010-05-08r300g: follow pipe_rasterizer_state::light_twosideMarek Olšák
2010-05-08r300g: pass depth texture swizzle to the compiler if compare mode is enabledMarek Olšák
2010-05-02r300g: merge VS output mapping state (VAP) to rasterizer block state (RS)Marek Olšák
These two should be tied together because what's set in VAP or stuffed in GA should be rasterized in RS. Not doing so causes a hardlock. The reason for the merge is that if stuffed texture coordinates (e.g. point sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos, the two must be relocated to other free slots, which needs remapping the vertex shader outputs. The rasterizer code is now literally a sequence read-rasterize-write.
2010-05-02r300g: inline update_derived_shader_stateMarek Olšák
2010-04-29r300g: fix compiler errorMarek Olšák
Ouch.
2010-04-29r300g: use the enum for color swizzles in the rasterizerMarek Olšák
2010-04-29r300g: rasterizer debug loggingMarek Olšák
2010-04-28r300g: move ZTOP to separate fileMarek Olšák
Ideally, HiZ should go in r300_hyperz.c next to ZTOP.
2010-04-15r300g: mask out the mirrored bit correctly in the registersMarek Olšák
It was previously done wrong + now it shouldn't render garbage, so that the NPOT fallback can get in.
2010-04-15r300g: pick a new fragment shader when either a sampler state or view is changedMarek Olšák
2010-04-13r300g: add generating texture coordinates for point spritesMarek Olšák
[airlied - Convert sprite coord index to a per-coord enable bit set the rasteriser block up correctly for point sprites. The inputs to the RS hw block change for sprite coords, so fix them up properly - this fixes piglit point-sprite test. ] Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-12r300g: atomize fragment shaderMarek Olšák
2010-04-11r300g: use a dummy replacement fragment shader if the shader compilation failsMarek Olšák
Better than killing an application.
2010-04-11r300g: revisit some assertions and fix potential failuresMarek Olšák
* Turn some assertions to error messages. * At most 16 vertex elements can be set, others are ignored. * Rasterize at most 8 vertex-shader generic outputs, others are ignored. This includes fog and WPOS. * Unknown shader semantic names are ignored.
2010-04-11r300g: cleanup handling of sampler viewsMarek Olšák
The evolution of TX_FORMAT bits is as follows: * When a texture is created, set bits independent of pipe_format. * When a sampler view is created, add format-specific bits. * When sampler states and views are getting merged, add min/max LOD.
2010-04-10r300g: use clamp-to-edge instead of repeat/mirrored-repeat for NPOT texturesMarek Olšák