Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | r300g: skip rendering if CS space validation fails | Marek Olšák | 2010-09-13 | 3 | -52/+73 |
| | | | | | | | | | radeon_cs_space_check flushes the pipe context on failure, retries the validation, and returns -1 if it fails again. At that point, there is nothing we can do, so let's skip draw operations instead of getting stuck in an infinite loop. This code path ideally should never be hit. | ||||
* | r300g: remove u_upload_flush from r300_draw_arrays | Marek Olšák | 2010-09-13 | 1 | -1/+0 |
| | | | | | This a leftover probably and is unnecessary, since we flush u_upload_mgr in r300_flush. | ||||
* | r300/compiler: Enable presubtract sources | Tom Stellard | 2010-09-10 | 2 | -0/+2 |
| | | | | | | | The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation. | ||||
* | r300g,r300c: memset the compiler struct to zeros | Marek Olšák | 2010-09-05 | 1 | -0/+1 |
| | | | | This should fix bogus reports "Too many temporaries." and maybe some others. | ||||
* | Revert "r300g: refuse to create a texture with size 0" | Marek Olšák | 2010-09-04 | 1 | -12/+0 |
| | | | | | | | | | | This reverts commit 5cdedaaf295acae13ac10feeb3143d83bc53d314. https://bugs.freedesktop.org/show_bug.cgi?id=30002 Conflicts: src/gallium/drivers/r300/r300_texture.c | ||||
* | r300g: remove unnecessary assignments | Marek Olšák | 2010-09-04 | 1 | -6/+0 |
| | |||||
* | r300g: skip draw calls with no vertex elements, fixing hardlocks | Marek Olšák | 2010-09-04 | 1 | -0/+3 |
| | |||||
* | r300g: add a new debug option which disables compiler optimizations | Marek Olšák | 2010-09-04 | 4 | -18/+22 |
| | | | | | | | | | | | | Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options. | ||||
* | r300/compiler: make optimizations not use 0.5 swizzles in vertex shaders | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | r300/compiler: add new compiler parameter max_constants | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | r300g: only check for an empty shader if there are no compile errors | Marek Olšák | 2010-09-04 | 1 | -8/+8 |
| | |||||
* | r300/compiler: add new compiler parameter max_alu_insts | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | r300g: fix warning in winsys | Marek Olšák | 2010-08-30 | 1 | -0/+1 |
| | |||||
* | r300g,u_blitter: use u_framebuffer | Marek Olšák | 2010-08-29 | 2 | -3/+3 |
| | | | | Removing another function duplication in u_blitter. | ||||
* | r300g: fix blitting between 2D NPOT mipmaps | Marek Olšák | 2010-08-28 | 4 | -23/+51 |
| | | | | | | | | | 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. | ||||
* | r300g: fix min/max lod computation | Mathias Fröhlich | 2010-08-28 | 1 | -2/+2 |
| | |||||
* | r300g: set the correct value in PVS_NUM_CNTLRS | Marek Olšák | 2010-08-28 | 1 | -1/+1 |
| | | | | As per docs. | ||||
* | r300g: Include missing header in r300_texture.h. | Vinson Lee | 2010-08-27 | 1 | -0/+1 |
| | | | | Include p_compiler.h for uint32_t and boolean symbols. | ||||
* | r300g: Include missing header in r300_texture_desc.h. | Vinson Lee | 2010-08-26 | 1 | -0/+1 |
| | | | | | | Include p_format.h for enum pipe_format symbol. Fixes r300g build. | ||||
* | r300g: fix constant buffer upload once again for r3xx->r4xx | Marek Olšák | 2010-08-26 | 1 | -1/+1 |
| | |||||
* | r300g: fix potentially uninitialized variables in create_rs_state | Marek Olšák | 2010-08-25 | 1 | -5/+2 |
| | | | | | | It had no impact on correctness, though. Reported by Vinson Lee. | ||||
* | draw: specialized cliptesting routines | Keith Whitwell | 2010-08-25 | 1 | -2/+0 |
| | |||||
* | gallium: Use draw_set_index_buffer and others. | Chia-I Wu | 2010-08-25 | 2 | -12/+9 |
| | | | | | | Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range. | ||||
* | r300g: fix gl_PointCoord | Marek Olšák | 2010-08-25 | 1 | -2/+7 |
| | | | | | Is this hackish or is this the correct way to use point_quad_rasterization? Copied from nvfx. | ||||
* | r300g: eliminate unused constants in FS | Marek Olšák | 2010-08-25 | 3 | -7/+32 |
| | |||||
* | r300g: eliminate unused constants in VS | Marek Olšák | 2010-08-25 | 5 | -8/+31 |
| | |||||
* | r300g: clean up some mess in set_constant_buffer | Marek Olšák | 2010-08-25 | 2 | -22/+1 |
| | |||||
* | r300g: fix indentation | Marek Olšák | 2010-08-25 | 2 | -8/+8 |
| | |||||
* | r300g: reset the index bias to 0 at the end of CS | Marek Olšák | 2010-08-25 | 4 | -5/+12 |
| | |||||
* | r300g: Remove unused variable. | Vinson Lee | 2010-08-23 | 1 | -2/+0 |
| | | | | | | Fixes this GCC warning. r300_render.c: In function 'r300_draw_flush_vbuf': r300_render.c:988: warning: unused variable 'r300_render' | ||||
* | r300g: avoid stall in no-tcl drawing when mapping vbo | Dave Airlie | 2010-08-23 | 3 | -15/+26 |
| | | | | | | | | | the current code reuses the same vbo over and over, however after a flush we'd stall and wait for mapping on the vbo when we should just fire and forget. On a gears test this brings me from ~620 to ~750 on my rv530 in swtcl mode. Signed-off-by: Dave Airlie <[email protected]> | ||||
* | gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT too | Luca Barbieri | 2010-08-20 | 3 | -5/+10 |
| | | | | | | | Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed. | ||||
* | r300g: do not use fastfill with 16-bit zbuffers | Marek Olšák | 2010-08-19 | 1 | -0/+4 |
| | | | | | | | To my knowledge, there is no way to flush zmask and thus write the clear value. This fixes zbuffer reads, among other things. | ||||
* | r300g: fix context destroy under hyperz | Dave Airlie | 2010-08-17 | 1 | -3/+3 |
| | | | | | | we were destroying the mm before unrefing all the objects, so segfault. Signed-off-by: Dave Airlie <[email protected]> | ||||
* | r300g: fix assert in the rasterizer block for r3xx-r4xx | Marek Olšák | 2010-08-16 | 1 | -1/+1 |
| | | | | Reported-by: Niels Ole Salscheider <[email protected]> | ||||
* | r300g: fix an invalid pointer in free | Marek Olšák | 2010-08-16 | 1 | -1/+1 |
| | |||||
* | r300g: Let hyperz init fail | nobled | 2010-08-16 | 3 | -6/+20 |
| | | | | Signed-off-by: Marek Olšák <[email protected]> | ||||
* | r300g: Fix leaks in failed context creation | nobled | 2010-08-16 | 1 | -34/+48 |
| | | | | | | | | | | | This changes r300_destroy_context() so it can be called on a partially-initialized context, and uses it when r300_create_context() hits a fatal error. This makes sure r300_create_context() doesn't leak memory or neglect to call r300_update_num_contexts() when it fails. Signed-off-by: Marek Olšák <[email protected]> | ||||
* | r300g: Fix macro | nobled | 2010-08-16 | 1 | -1/+3 |
| | | | | | | | This fixes a potential bug if (has_hyperz) is false (it would still init the atom as if has_hyperz were true). Signed-off-by: Marek Olšák <[email protected]> | ||||
* | r300/compiler: implement DP2 opcode | Marek Olšák | 2010-08-16 | 1 | -1/+1 |
| | |||||
* | r300/compiler: implement SSG opcode | Marek Olšák | 2010-08-16 | 1 | -1/+1 |
| | |||||
* | r300g: mark HiZ/ZMask_clear atoms as non-dirty after emission in clear | Marek Olšák | 2010-08-15 | 1 | -1/+4 |
| | |||||
* | r300g: do not use HiZ if HiZ RAM is not properly initialized | Marek Olšák | 2010-08-15 | 5 | -18/+23 |
| | |||||
* | r300g: rename dirty_zmask -> zmask_in_use | Marek Olšák | 2010-08-15 | 5 | -13/+13 |
| | |||||
* | r300g: do not clear with blitter if we clear just the ZMask RAM | Marek Olšák | 2010-08-15 | 1 | -9/+37 |
| | | | | | This skips the blitter clear path entirely if the color is not cleared and the depth+stencil is cleared with the ZMask. | ||||
* | r300g: do not use fastfill if ZMask RAM is not properly initialized | Marek Olšák | 2010-08-15 | 4 | -18/+31 |
| | | | | z_fastfill -> dirty_zmask[level]. | ||||
* | r300g: separate num_cs_end_dwords out from prepare_for_rendering | Marek Olšák | 2010-08-15 | 3 | -24/+25 |
| | |||||
* | r300g: do not support separate depth/stencil clear in the driver | Marek Olšák | 2010-08-13 | 1 | -3/+1 |
| | | | | It doesn't work well with Hyper-Z, so put the burden on the state tracker. | ||||
* | r300g: fix fastfill when color and Z clear are invoked separately | Marek Olšák | 2010-08-13 | 2 | -2/+2 |
| | | | | This always restores the previous depth clear value after CBZB clear. | ||||
* | r300g: disable depth clamp for now | Marek Olšák | 2010-08-13 | 1 | -1/+1 |
| | | | | | | | It breaks Regnum Online in that it renders random triangles all over the screen. https://bugs.freedesktop.org/show_bug.cgi?id=29518 |