summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga
Commit message (Collapse)AuthorAgeFilesLines
* svga: Fix memory leak in svga_buffer_transfer_map.Vinson Lee2012-11-081-0/+2
| | | | | | | Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: Ensure vb_transfer in svga_swtnl_draw_vbo in initialized.Vinson Lee2012-11-061-1/+1
| | | | | | | Fixes a uninitialized pointer read defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium: expose ARB_map_buffer_alignment on RadeonMarek Olšák2012-10-311-0/+1
| | | | | | | | Reviewed-by: Brian Paul <[email protected]> v2: update relnotes-9.1 v3: use align_malloc and align_free for malloced buffers in r300g v4: document the new CAP in the docs
* gallium: add start_slot parameter to set_vertex_buffersMarek Olšák2012-10-314-28/+7
| | | | | | | | | | | | | | | | | | | | | This allows updating only a subrange of buffer bindings. set_vertex_buffers(pipe, start_slot, count, NULL) unbinds buffers in that range. Binding NULL resources unbinds buffers too (both buffer and user_buffer must be NULL). The meta ops are adapted to only save, change, and restore the single slot they use. The cso_context can save and restore only one vertex buffer slot. The clients can query which one it is using cso_get_aux_vertex_buffer_slot. It's currently set to 0. (the Draw module breaks if it's set to non-zero) It should decrease the CPU overhead when using a lot of meta ops, but the drivers must be able to treat each vertex buffer slot as a separate state (only r600g does so at the moment). I can imagine this also being useful for optimizing some OpenGL use cases. Reviewed-by: Brian Paul <[email protected]>
* svga: add svga_screen_cache_dump() debug helperBrian Paul2012-10-172-0/+37
|
* svga: whitespace fixes, remove useless commentsBrian Paul2012-10-165-93/+52
|
* svga: silence MSVC warning about negating an unsigned valueBrian Paul2012-10-161-1/+1
|
* svga: silence MSVC double/float assignment warningsBrian Paul2012-10-161-10/+10
|
* svga: fix MSVC double/float parameter warningBrian Paul2012-10-161-1/+1
|
* svga: silence MSVC float/int assignment warningsBrian Paul2012-10-162-3/+3
|
* svga: silence MSVC double/float assignment warningsBrian Paul2012-10-161-23/+23
|
* svga: silence some MSVC signed/unsigned comparison warningsBrian Paul2012-10-1611-11/+13
|
* svga: remove needless debug-mode linked list codeBrian Paul2012-10-151-3/+1
| | | | LIST_DEL() always sets the prev/next pointers to NULL now.
* gallium: unify transfer functionsMarek Olšák2012-10-114-74/+32
| | | | | | | | | | | | | | "get_transfer + transfer_map" becomes "transfer_map". "transfer_unmap + transfer_destroy" becomes "transfer_unmap". transfer_map must create and return the transfer object and transfer_unmap must destroy it. transfer_map is successful if the returned buffer pointer is not NULL. If transfer_map fails, the pointer to the transfer object remains unchanged (i.e. doesn't have to be NULL). Acked-by: Brian Paul <[email protected]>
* svga: don't use uninitialized framebuffer stateBrian Paul2012-10-111-2/+4
| | | | | | | | | | | Only the first 'nr_cbufs' color buffers in the pipe_framebuffer_state are valid. The rest of the color buffer pointers might be unitialized. Fixes a regression in the piglit fbo-srgb-blit test since changes in the gallium blitter code. NOTE: This is a candidate for the 9.0 branch (just to be safe). Reviewed-by: Jose Fonseca <[email protected]>
* svga: Remove wierd code which forces non-sRGB formats.John Kåre Alsaker2012-10-101-8/+0
| | | | Signed-off-by: Brian Paul <[email protected]>
* svga: Add support for 16-bit per channel RGBAJohn Kåre Alsaker2012-10-101-0/+3
| | | | Signed-off-by: Brian Paul <[email protected]>
* svga: implement blitMarek Olšák2012-09-304-0/+78
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium: add PIPE_CAP_TEXTURE_MULTISAMPLEMarek Olšák2012-09-301-0/+1
| | | | | Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: minor code reformattingBrian Paul2012-08-161-2/+3
| | | | To be consistent with other functions.
* svga: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-24/+65
|
* svga: move result->key expression after result != NULL checkBrian Paul2012-08-161-1/+3
|
* svga: fix result==NULL logic in emit_fs_consts()Brian Paul2012-08-161-23/+25
| | | | | | | | The previous test for result != NULL was kind of bogus since we dereferenced the pointer earlier in the code. Now, check for result != NULL first, then get the result->key info. Also, remove the useless "offset +=" code at the end.
* svga: update comment (s/SVGA_NEW_VS_RESULT/SVGA_NEW_VS_PRESCALE/)Brian Paul2012-08-161-1/+1
|
* svga: rename svga_hw_vs_parameters -> svga_hw_vs_constantsBrian Paul2012-08-163-6/+6
| | | | and similarly for svga_hw_fs_parameters
* svga: remove unused svga_shader::use_sm30 field, add commentsBrian Paul2012-08-082-4/+9
| | | | Reviewed-by: José Fonseca <[email protected]>
* svga: remove unused svga_winsys_handle typeBrian Paul2012-08-081-3/+0
| | | | Reviewed-by: José Fonseca <[email protected]>
* svga: remove questionable INLINE qualifiersBrian Paul2012-08-021-2/+2
|
* svga: sort #includesBrian Paul2012-08-021-4/+4
|
* svga: add some comments in svga_screen_cache.cBrian Paul2012-08-021-1/+14
|
* svga: whitespace, formatting fixesBrian Paul2012-08-021-52/+54
|
* svga: remove unneeded 'struct svga_screen' declarationsBrian Paul2012-08-022-2/+0
|
* svga: initialize svga_compile_key to zeros to be safeBrian Paul2012-07-261-0/+4
|
* svga: fix invalid memory reference in needs_to_create_zero()Brian Paul2012-07-261-5/+5
| | | | | | | | | | | | | | The emit->key.fkey info is only valid if we're generating a fragment shader. We should not look at it if we're generating a vertex shader. When generating a vertex shader, the value of emit->key.fkey.num_textures was garbage and the loop over num_textures would read invalid data. At best this would cause us to emit an unused constant. At worse, we could segfault. Just by dumb luck, fkey.num_textures was usually a smallish integer. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* gallium: add QUERY_TIMESTAMP cap and get_timestamp screen functionMarek Olšák2012-07-101-0/+1
|
* svga: whitespace fixesBrian Paul2012-07-051-114/+90
|
* svga: implement TGSI_OPCODE_ROUNDBrian Paul2012-07-051-15/+51
| | | | | | | ROUND and TRUNC are implemented with one function to reduce code duplication. Note: ROUND isn't actually used yet, but probably will be soon. Reviewed-by: José Fonseca <[email protected]>
* svga: fix CMP translation for vertex shadersBrian Paul2012-07-051-36/+37
| | | | | | | | | | Converting CMP to SLT+LRP didn't work when src2 or src3 was Inf/NaN. That's the case for GLSL sqrt(0). sqrt(0) actually happens in many piglit auto-generated tests that use the distance() function. v2: remove debug/devel code, per Jose Reviewed-by: José Fonseca <[email protected]>
* svga: properly implement TRUNC instructionBrian Paul2012-07-051-1/+54
| | | | | | | | | | Was previously implemented with FLOOR. Fixes quite a few piglit tests of float->int conversion, integer division, etc. v2: clean up left over debug/devel code, per Jose Reviewed-by: José Fonseca <[email protected]>
* svga: fix register collision issue in emit_conditional()Brian Paul2012-07-051-0/+24
| | | | | | | If the 'dst' register is the same as the 'pass' register we'll generate invalid code. Use a temporary register in that case. Reviewed-by: José Fonseca <[email protected]>
* svga: emit some debug messages when shader compilation failsBrian Paul2012-07-051-4/+10
|
* svga: return 120 for PIPE_CAP_GLSL_FEATURE_LEVELBrian Paul2012-06-261-1/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* svga: handle missing PIPE_CAP_x queriesBrian Paul2012-06-261-9/+14
| | | | | | And fix incorrect error message for a bad shader type/number. Reviewed-by: Marek Olšák <[email protected]>
* svga: return 1 for PIPE_CAP_MIXED_COLORBUFFER_FORMATSBrian Paul2012-06-261-1/+3
| | | | | | | | | | | This is actually required for GL_ARB_framebuffer_object, but the state tracker doesn't currently check it. Direct3D 9 allows mixed format color buffers with some restrictions. Setting this allows Unigine Heaven 2.5 and 3.0 to run. Tested both on GL and D3D hosts. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* svga: init pointer to NULL to silence MSVC warningBrian Paul2012-06-221-1/+1
|
* gallium: Add PIPE_CAP_START_INSTANCEFredrik Höglund2012-06-191-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* scons: Do not build svga if using Solaris Studio C compiler.Vinson Lee2012-06-181-0/+4
| | | | | | | | Solaris Studio C compiler does not support anonymous structs and anonymous unions. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: fix synchronization bug between sampler views and surfacesBrian Paul2012-06-181-0/+5
| | | | | | | | | | This fixes a bug where a sampler view was using stale texture/resource data when the texture was modified through a surface (render to texture). Bumping the texture and layer ages triggers sampler view revalidation. Fixes piglit fbo-blit failure. Reviewed-by: José Fonseca <[email protected]>
* svga: make svga_surface_needs_propagation() surface constBrian Paul2012-06-142-3/+3
|
* svga: add svga_surface_const() cast wrapperBrian Paul2012-06-141-0/+8
|