summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
AgeCommit message (Collapse)Author
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-21r300g: implement depth clampMarek Olšák
Depth clamping seems to be implicit if clipping is disabled. It's not perfect, but it's good enough for wine and passes the corresponding piglit tests.
2010-07-21r300g: cleanup clip state emissionMarek Olšák
2010-07-16r300g: do not make copies of constant buffers, emit them directlyMarek Olšák
2010-07-16r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák
2010-07-12r300g: implement fast color clearMarek Olšák
An initial implementation made by Dave Airlie. For it to be used, a color-only clear must be invoked and exactly one point-sampled render target must be set. The render target must be macrotiled (for us to overcome alignment issues) and bpp must be either 16 or 32. I can't see a difference in performance. :( Conflicts: src/gallium/drivers/r300/r300_blit.c
2010-07-09r300g: fix texturing with negative lod biasMarek Olšák
This should fix FDO bugs #28437 and #28625.
2010-07-08r300g: add a function for marking framebuffer atoms as dirtyMarek Olšák
2010-07-03r300g: fix warningsMarek Olšák
2010-06-30r300g: move one flush from winsys to the contextMarek Olšák
This flush happens when changing the tiling flags, and it should really be done in the context. I hope this fixes FDO bug #28630.
2010-06-29util: reference surfaces and sampler views in blitter when saving themMarek Olšák
Ooops. This should possibly fix some bugs...
2010-06-27r300g: fix a compile error on non-debug buildsMarek Olšák
2010-06-27r300g: separate the hyperz state and pipelined FB regs out of the FB stateMarek Olšák
2010-06-27r300g: reference surfaces in set_framebuffer_stateMarek Olšák
2010-06-27r300g: turn rasterizer state into a command bufferMarek Olšák
2010-06-27r300g: move emission of the MSPOS regs into the framebuffer stateMarek Olšák
Now the question is whether we are allowed to ignore gl_rasterization_rules and pipe_rasterizer_state::multisample. The former is invariant anyway and I think the latter would need re-emitting the AA state which is quite costly, considering that it implicitly flushes the whole pipeline (all AA regs in the AA state are *unpipelined*).
2010-06-26r300g: introduce VAP invariant stateMarek Olšák
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-24r300g: move AA registers into the new AA stateMarek Olšák
2010-06-24r300g: separate the cache flush from the framebuffer stateMarek Olšák
2010-06-24r300g: reorder and cleanup register writes everywhereMarek Olšák
2010-06-22glhd: Grab framebuffer state checks from r300g.Corbin Simpson
2010-06-22r300g: optimize the immediate mode emission path a bitMarek Olšák
2010-06-20r300g: fix assigning the texture cache region for 1 textureMarek Olšák
2010-06-20r300g: manually assign texture cache regionsMarek Olšák
This should fix corrupted texturing on r3xx-r4xx.
2010-06-19r300g: fix random pixels appearing / incomplete renderingMarek Olšák
This should fix the FDO bug #28612. Also, these piglit tests have been fixed: - fbo-copypix - scissor-copypixels - copytexsubimage - texredefine Finally, 2 flushes in the transfer path are no longer needed.
2010-06-19r300g: fix clamp and mirror_clamp wrap modes when used with nearest filteringMarek Olšák
2010-06-19r300g: improve the ZTOP conditionMarek Olšák
The real difference here is that ZTOP is now enabled if all stencil ops are set to KEEP. This improves performance.
2010-06-19r300g: fix up the CS size of the rasterizer stateMarek Olšák
2010-06-16r300g: Fix MSAA state size.Corbin Simpson
2010-06-16r300g: Moar MSAA setup.Corbin Simpson
Need to just add the resolve, then go switch to new DRM and test.
2010-06-16r300g: Old MSAA code from before gallium-msaa.Corbin Simpson
2010-06-13r300g: optimize emission of fragment shader constantsMarek Olšák
2010-06-13r300g: turn fragment shader into a CBMarek Olšák
2010-06-13r300g: turn depth stencil state into a CBMarek Olšák
2010-06-13r300g: turn clip state into a CBMarek Olšák
2010-06-13r300g: turn blend color into a CBMarek Olšák
2010-06-13r300g: turn blend state into a CBMarek Olšák
2010-06-13r300g: remove r300_state.hMarek Olšák
2010-06-13r300g: add fallback for unaligned/unsupported vertex stride/offset/formatMarek Olšák
There is a problem though, the translate module cannot emit half float vertices.
2010-06-08r300g: skip rendering for unsupported vertex formats instead of abortingMarek Olšák
The next step is to replace skipping by an actual fallback.
2010-05-31r300g: set correct pitch in libdrmMarek Olšák
to match what DDX sets. This prevents some flushes from occuring.
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-27r300g: decouple drawing code and two-sided stencil refvalue fallbackMarek Olšák
It's now more separate from the rest of the driver and it can be disabled by commenting out just 1 line. Well, I couldn't make the previous version work with SW TCL reliably, that's the reason of this little rework.
2010-05-26r300g/swtcl: do not use u_upload_mgr and do not compute max_indexMarek Olšák
2010-05-21Merge branch 'gallium-msaa'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c
2010-05-21Merge branch 'gallium-front-ccw'Keith Whitwell
2010-05-18gallium: implement set_sample_mask() in all driversRoland Scheidegger
prevents segfault when state trackers try to set default mask. Other option would be to make this required only for drivers supporting multisampling, but this seems more clean. Only dummy implementations (for normal drivers) provided (no driver supports multisampling yet neither).