summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* r600g: add missing emit_flush for R600_CONTEXT_FLUSH_AND_INV caseAlex Deucher2013-02-261-0/+1
| | | | | | | | We set the cp_coher_cntl bits but never emit them. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600g: synchronize streamout buffers on r6xx too (v3)Alex Deucher2013-02-261-1/+1
| | | | | | | | | | | Streamout buffers need to be synchronized on r6xx as well. v2: Add DEST flush as well. v3: drop DEST flush Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* winsys/null: fix var typo templet->templatBrian Paul2013-02-261-1/+1
|
* svga: fix comment typosBrian Paul2013-02-261-1/+1
|
* r300g: implement 3D transfersMarek Olšák2013-02-261-2/+18
| | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=61351
* gallium/util: add helper util_max_layer from r600gMarek Olšák2013-02-267-47/+31
|
* llvmpipe: (trivial) get rid of old function prototypes.Roland Scheidegger2013-02-251-7/+0
| | | | | llvmpipe_init_screen/context_texture_funcs have long been replaced with the respective "resource" funcs.
* draw: make sure pipeline is revalidated when sampler views or samplers change.Roland Scheidegger2013-02-252-1/+6
| | | | | | | | | | | Since with llvm execution parts of sampler view and sampler state is baked into the shader, we need to revalidate otherwise the wrong shader might get used. (Not completely sure but I think this would not be required for non-llvm case, along with everything else in these functions.) This caused bugs in piglit arb_texture_buffer_object-formats, because we never noticed that the view format changed. Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: support GL_ARB_texture_buffer_object/GL_ARB_texture_buffer_rangeRoland Scheidegger2013-02-2512-115/+191
| | | | | | | | | | | | | | | | | | | | This also fixes not honoring first/last_layer view parameters for array textures, plus not honoring last_level view parameter for all textures (neither is really used by OpenGL). This mostly passes piglit arb_texture_buffer_object tests (it needs, however, glsl 140 version override, plus GL 3.1 override, the latter only because mesa does not allow ARB_tbo in non-core contexts). Most arb_texture_buffer_object tests pass, with the exception of arb_texture_buffer_object-formats. With "arb" parameter it passes most weirdo formats before it segfaults in the state tracker, this looks to be some issue with using legacy formats in core context (fails the same in softpipe). With "core" parameter it passes with "fs", however fails with "vs" (for most formats). This will be fixed later (debugging shows we're completely missing the shader recompile depending on format). v2: based on Jose's feedback, fix comments, variable/function names. Reviewed-by: Jose Fonseca <[email protected]>
* vl: Fix off-by-one error in device_name_length allocation.Vinson Lee2013-02-231-2/+1
| | | | | | | | Fixes out-of-bounds write reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* llvmpipe: Fix creation of shared and scanout textures.John Kåre Alsaker2013-02-231-1/+3
| | | | | | NOTE: This is a candidate for the stable branches. Signed-off-by: José Fonseca <[email protected]>
* util/u_blitter: Set pipe_sampler_state::normalized_coords correctly.José Fonseca2013-02-231-4/+22
| | | | | | | | | We might want to revisit the normalized_coords semantics, but this is the current expected behavior. Fixes fdo bug 61091. Reviewed-by: Brian Paul <[email protected]>
* svga: remove some extraneous whitespaceBrian Paul2013-02-231-8/+0
|
* util/dump: Use static assertion to detect string table size mismatches.José Fonseca2013-02-231-1/+18
| | | | | | | | Suggested by Brian Paul. Could probably be extended to other enums. Reviewed-by: Brian Paul <[email protected]>
* st/xvmc/tests: Ensure colorkey is initialized.Vinson Lee2013-02-221-0/+4
| | | | | | | Fixes uninitialized scalar variable defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vdpau: Fix memory leak in vlVdpBitmapSurfaceCreate.Vinson Lee2013-02-221-0/+1
| | | | | | | Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vdpau: Fix memory leak in vlVdpOutputSurfaceCreate.Vinson Lee2013-02-221-0/+1
| | | | | | | Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Christian König <[email protected]>
* llvmpipe: rename polygon offset fields to something more specificBrian Paul2013-02-222-8/+11
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: add missing checks for polygon offset point/line modesBrian Paul2013-02-221-0/+6
| | | | | | | | | | | The llvm pipeline handles regular filled triangle offsets, but it doesn't handle offsets for triangles drawn in point or line mode. Fixes failures found with new piglit polygon-mode-offset test. Note: This is a candidate for the stable branches. Reviewed-by: Jose Fonseca <[email protected]>
* draw: fix broken polygon offset stageBrian Paul2013-02-221-3/+37
| | | | | | | | | | | | There were several issues. We weren't handling different front/back polygon fill modes. We weren't checking whether the offset applied to fill mode vs. line mode vs. point mode. Fixes problems found with the Visualization Toolkit (VTK) test suite. Note: This is a candidate for the stable branches. Reviewed-by: Jose Fonseca <[email protected]>
* r600g: fixup PS_PARTIAL_FLUSH flag handling for caymanAlex Deucher2013-02-221-7/+6
| | | | | | | | | So we don't emit it twice if we ever use the flag on cayman. Note: this is a candidate for the 9.1 branch. Signed-off-by: Alex Deucher <[email protected]>
* r600g: r6xx deadlock workaround (v6)Alex Deucher2013-02-221-0/+6
| | | | | | | | | | | | | | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=50655 https://bugs.freedesktop.org/show_bug.cgi?id=47116 v2: flush along with workaround. v3: just need a flush v4: try WAIT_UNTIL v5: switch to PS partial flush v6: rework patch Note: this is a candidate for the 9.1 branch. Signed-off-by: Alex Deucher <[email protected]>
* r600g: add PS_PARTIAL_FLUSH flagAlex Deucher2013-02-222-0/+6
| | | | | | | | | PS_PARTIAL flushes seems to be required in certain cases to prevent hangs, especially on r6xx. Note: this is a candidate for the 9.1 branch. Signed-off-by: Alex Deucher <[email protected]>
* tgsi: Improve execution debugging.José Fonseca2013-02-221-5/+24
| | | | | | | | | | - zero temps/outputs instead of copying (otherwise we won't be able to see the temps/outputs assignments for small shaders where nothing changes across big areas - also show the inputs (as it's often impossible to infer from the rest) Reviewed-by: Brian Paul <[email protected]>
* util/u_dump: Update texture target strings.José Fonseca2013-02-221-2/+10
|
* util/debug: Always use __builtin_frame_address on gcc.Sergey Matyukevich2013-02-221-4/+1
| | | | | | Should workaround fdo bug 57563. Signed-off-by: José Fonseca <[email protected]>
* radeon/llvm: Remove stale comment about radeon_llvm_emit_prepare_cube_coordsMichel Dänzer2013-02-221-1/+0
|
* r600g: fix random corruption with CP DMA in TF2Marek Olšák2013-02-221-0/+3
| | | | NOTE: This is a candidate for the 9.1 branch.
* radeonsi: Don't pretend there is any R8G8B8 supportMichel Dänzer2013-02-221-1/+0
| | | | The hardware can't do it.
* llvmpipe/build: add DLOPEN_LIBS and PTHREAD_LIBS to the lp_test_* targetsAndreas Boll2013-02-221-5/+12
| | | | | | | | | | Fixes undefined symbols. NOTE: This is a candidate for the 9.1 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61052 Tested-by: Vinson Lee <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* targets/xa-vmwgfx: Force c++ linker to fix undefined symbolsAndreas Boll2013-02-221-0/+2
| | | | | | | NOTE: This is a candidate for the 9.1 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61200 Reviewed-by: Matt Turner <[email protected]>
* llvmpipe: Fix rendering into PIPE_FORMAT_X8*_UNORM.Roland Scheidegger2013-02-221-15/+31
| | | | | | | | Mesa state tracker recently started using PIPE_FORMAT_X8B8G8R8_UNORM, causing segfaults in texture-packed-formats, because swizze[chan] was 0xff for padding channel (X). Signed-off-by: José Fonseca <[email protected]>
* trace: Never close stdout/stderr.José Fonseca2013-02-221-2/+9
| | | | This could happen, when a trace screen was destroyed and then recreated.
* trace: Fix set_constant_buffer dumping.José Fonseca2013-02-221-2/+2
| | | | | We were dumping the trace driver pointer, instead of the pointer from the underlying pipe driver.
* r600g: Fix memory leak in r600_shader_select.Vinson Lee2013-02-211-0/+1
| | | | | | Signed-off-by: Vinson Lee <[email protected]> Reported-by: Michel Dänzer <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* llvmpipe: simplify buffer allocation logic.Roland Scheidegger2013-02-221-7/+5
| | | | | | | | | Now with buffer formats clarification don't need all that logic any longer. (Note that it never would have worked in any case, because blockwidth and blockheight were swapped any allocation with multi-byte format would have had zero size.) Reviewed-by: Jose Fonseca <[email protected]>
* gallium/docs: improve text about resources a bit.Roland Scheidegger2013-02-221-29/+33
| | | | | | | | | | | This clarifies some things and gets rid of some old stuff. The most significant one is probably that buffers cannot have formats (nearly all drivers completely ignored format and used width0 as byte size already in any case). There seems to be no use case for "structured" buffers. (Note while d3d11 has new Structured Buffers, these still aren't associated with a format, rather a byte stride, which we can't do yet either way.) Reviewed-by: Jose Fonseca <[email protected]>
* draw: make sure key size is calculated consistently.Roland Scheidegger2013-02-221-5/+9
| | | | | | | | | | | | | | | | | | | Some parts calculated key size by using shader information, others by using the pipe_vertex_element information. Since it is perfectly valid to have more vertex_elements set than the vertex shader is using those may not be the same, so we weren't copying over all vertex_element state - this caused the tgsi dump to assert (iterates over all vertex elements). More importantly in this situation it would also break vertex texturing completely (since the sampler state derived from the key is at a different position than expected). Fix thix by deriving key->nr_vertex_elements from the shader information instead of the pipe_vertex_element state (unlike dx10, we can't have "holes" in pipe_vertex_element state, so this should be safe). (Note that actual llvm shader generation does not use the pipe_vertex_element state from the key itself in any case (althogh I guess it could) but uses the one from draw.pt (which should be the same though contains all elements) instead.) Reviewed-by: Jose Fonseca <[email protected]>
* r300g/compiler: Fix bug in OMOD foldingTom Stellard2013-02-213-1/+77
| | | | | | | | | | The OMOD value was only being folded to one instruction in cases where the MUL instruction was reading a value written by more than one instruction. NOTE: This is a candidate for the stable branches. Reviewed-by: Marek Olšák <[email protected]>
* r300g/tests: Add helper functions for creating a full programTom Stellard2013-02-212-8/+75
| | | | | | | | | Now you can convert assembly strings into a full struct radeon_compiler object and use it to test individual compiler pases. NOTE: This is a candidate for the stable branches. Reviewed-by: Marek Olšák <[email protected]>
* r300g/tests: Exit test runner with a valid status codeTom Stellard2013-02-215-6/+22
| | | | | | | | This way make check can report whether or not the tests pass. NOTE: This is a candidate for the stable branches. Reviewed-by: Marek Olšák <[email protected]>
* r300g/complier: Make r300_vertprog_swizzle_caps visible in other filesTom Stellard2013-02-212-1/+3
| | | | | | | | This will be used by the test suite in later commits. NOTE: This is a candidate for the stable branches. Reviewed-by: Marek Olšák <[email protected]>
* r300g/compiler: Fix typo in commentTom Stellard2013-02-211-1/+1
| | | | Reviewed-by: Marek Olšák <[email protected]>
* r300g/compiler: Add missing license headersTom Stellard2013-02-2113-1/+339
| | | | | | | | | | These are all files that I authored, but forgot to add the license headers. NOTE: This is a candidate for the stable branches. Signed-off-by: Tom Stellard <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600g: don't enable ReZ mode on evergreenAlex Deucher2013-02-211-1/+4
| | | | | | | | | | | | | | | Can cause lockups in certain cases when zfunc/zenable/zwrite change without a flush in between. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=60969 and lockups on Civ4 with wine. This is a candidate for the 9.1 branch. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: Don't match TGSI_SEMANTIC_POSITION fs inputs to vs outputsMichel Dänzer2013-02-211-2/+5
|
* radeonsi: Fix w component of TGSI_SEMANTIC_POSITION fragment shader inputs.Michel Dänzer2013-02-211-0/+8
| | | | | | | | It's the reciprocal of the register value. Fixes piglit fragcoord_w and glsl-fs-fragcoord-zw-perspective. NOTE: This is a candidate for the 9.1 branch.
* radeonsi: Fix up and enable flat shading.Michel Dänzer2013-02-214-22/+5
| | | | | | | | | | | Requires corresponding LLVM R600 backend fix to work correctly, but even without that it doesn't hang anymore. 13 more little piglits. Depends on LLVM: r175193, r175733 NOTE: This is a candidate for the 9.1 branch.
* radeonsi: Fix memory leak in si_shader_select.Vinson Lee2013-02-201-0/+1
| | | | | | | Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gallivm: fix indirect src register fetches requiring bitcastRoland Scheidegger2013-02-201-21/+16
| | | | | | | | | | | For constant and temporary register fetches, the bitcasts weren't done correctly for the indirect case, leading to crashes due to type mismatches. Simply do the bitcasts after fetching (much simpler than fixing up the load pointer for the various cases). This fixes https://bugs.freedesktop.org/show_bug.cgi?id=61036 Reviewed-by: Jose Fonseca <[email protected]>