summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* radeon/llvm: Add flag operand to some instructionsTom Stellard2012-08-237-33/+97
| | | | | | | This new operand replaces the MachineOperand flags in LLVM, which will be deprecated soon. Eventually all instructions should have a flag operand, but for now this operand has only been added to instructions that need it.
* radeon/llvm: Encapsulate setting of MachineOperand flagsTom Stellard2012-08-234-50/+71
| | | | | MachineOperand flags will be removed soon, so it is convienent to have only one function that modifies them.
* radeonsi: rework vertex format handlingChristian König2012-08-221-10/+58
| | | | | | | Preventing piglit's draw-vertices test from hanging the GPU. Signed-off-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: fix SPI_PS_INPUT_ENA handlingChristian König2012-08-221-3/+14
| | | | | | | | We need to enable at least one interpolation mode, otherwise the GPU will hang. Signed-off-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* r600g: fix lockups with dual_src_blend v2Vadim Girlin2012-08-223-9/+45
| | | | | | | | | | Disable blending when dual_src_blend is enabled and number of color exports in the current fragment shader is less than 2. Fixes lockups with ext_framebuffer_multisample- alpha-to-coverage-dual-src-blend piglit test. Signed-off-by: Vadim Girlin <[email protected]>
* st/dri: Add shared usage on buffers createdJakob Bornecrantz2012-08-221-0/+3
| | | | | Tested-by: Scott Moreau <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* radeon/llvm: ExpandSpecialInstrs - Add support for cube instructionsTom Stellard2012-08-214-63/+100
|
* radeon/llvm: ExpandSpecialInstrs - Add support for vector instructionsTom Stellard2012-08-212-15/+30
|
* radeon/llvm: Add R600ExpandSpecialInstrs passTom Stellard2012-08-216-14/+112
| | | | | This pass expends reduction instructions into a MachineInstrBundle that contains 4 instruction, one for each instruction slot.
* radeon/llvm: Add helper function for getting sub reg indicesTom Stellard2012-08-213-6/+19
|
* radeonsi: Handle NULL sampler views getting passed in by the state tracker.Michel Dänzer2012-08-212-5/+14
| | | | | | | | Don't dereference NULL pointers, and if all views are NULL, don't generate an invalid PM4 packet which locks up the GPU. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Christian König <[email protected]>
* radeon-llvm: Start multithreaded before using llvm.Mathias Fröhlich2012-08-201-0/+15
| | | | | | | | | | | | | | | | | | | This is required to make some of llvm's api calls thread save. In particular the PassRegistry, which is implicitly accessed while compiling shader programs. The PassRegistry uses a mutex that is only active if the llvm_is_multithreaded() returns true. Calling llvm_start_multithreading() makes this happen and by calling this function we try to make sure that we can savely compile shaders in paralell. Since there is also a call llvm_stop_multithreading() in the llvm api, we cannot guarantee that this does not get switched off while we are relying on this being set, but for the easier use cases this fixes a race with the radeon llvm compiler we have as of today. Signed-off-by: Mathias Froehlich <[email protected]> Signed-off-by: Tom Stellard <[email protected]>
* r600g: Move common compute/3D register init to its own functionarchibald2012-08-203-170/+219
| | | | Signed-off-by: Tom Stellard <[email protected]>
* nv50/ir/tgsi: handle DP2 in tgsi Instruction srcMaskChristoph Bumiller2012-08-181-0/+2
| | | | Solved by Tiziano Bacocco on IRC.
* nv50/ir/emit: don't forget saturation bit on f32 add immediateChristoph Bumiller2012-08-181-0/+2
| | | | Solved by Maxim Levitsky on IRC.
* util: update and fix u_upload_mgr.h commentsBrian Paul2012-08-181-4/+3
|
* llvmpipe: remove polygon stipple assertionBrian Paul2012-08-171-2/+0
| | | | | | | It's possible for us to have an unused sampler bound when the fragment shader itself doesn't use any samplers. So the assertion isn't valid. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53616
* svga: minor code reformattingBrian Paul2012-08-161-2/+3
| | | | To be consistent with other functions.
* build: Remove EXTRA_LIB_PATHMatt Turner2012-08-163-3/+3
| | | | You can add extra library paths to LDFLAGS directly.
* r600g: disable tiling for 422 formats againMarek Olšák2012-08-161-0/+4
|
* r600g: fix blits of subsampled formatsMarek Olšák2012-08-161-20/+63
|
* r600g: fix copying between NPOT mipmapped compressed texturesMarek Olšák2012-08-161-2/+3
| | | | | | | | | We aligned the dimensions to the blocksize, then divided by it (in r600_blit.c), then minified, which was wrong. The minification must be done first, not last. This fixes piglit/fbo-generatemipmap-formats with S3TC and maybe a bunch of other tests too. Tested on RV730.
* r600g: make F2U trans-only on r600-r700Marek Olšák2012-08-161-1/+1
| | | | This fixes a failing assertion in r600_asm.c.
* r600g: set CB_COLOR_INFO to INVALID for disabled colorbuffers on r600-r700Marek Olšák2012-08-161-0/+3
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* r600g: rename r600_resource_texture to r600_textureMarek Olšák2012-08-169-48/+48
|
* r600g: always put tiled textures in VRAMMarek Olšák2012-08-161-1/+2
|
* r600g: cleanup r600_resource_texture in favor of radeon_surfaceMarek Olšák2012-08-165-29/+20
|
* r600g: remove unused parameter in r600_texture_create_objectMarek Olšák2012-08-161-3/+2
|
* r600g: fixup the usage flag for the flushed depth textureMarek Olšák2012-08-161-1/+1
|
* wayland-drm: close fd after the display is uninitializedPhilipp Brüschweiler2012-08-161-2/+3
| | | | | | | This fixes a "kernel rejected pushbuf: Bad file descriptor" error on wl_drm display destruction. Reviewed-by: Kristian Høgsberg <[email protected]>
* radeon/llvm: Lower implicit parameters before ISelTom Stellard2012-08-163-69/+42
|
* gallium/draw: move misplaced braceBrian Paul2012-08-161-1/+1
|
* r600: update sampler, sampler_view code for the futureBrian Paul2012-08-164-19/+50
| | | | | | | For when we have pipe->set_sampler_states(pipe, shader, start, num, samplers), etc. Reviewed-by: Marek Olšák <[email protected]>
* rbug: update data structures, functions for future changesBrian Paul2012-08-163-76/+71
| | | | | To support geom/compute/etc shaders, samplers, sampler views, etc. To support pipe->bind_sampler_states() w/ start_slot.
* gallium/trace: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-4/+14
|
* gallium/identity: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-4/+12
|
* galahad: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-41/+57
|
* svga: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-24/+65
|
* llvmpipe: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-22/+45
|
* softpipe: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-25/+49
| | | | | To support updating a sub-range of sampler states/views in the future. Note that we always pass start=0 at this time.
* gallium/trace: consolidate sampler, sampler_view codeBrian Paul2012-08-161-50/+82
|
* gallium/identity: consolidate sampler, sampler_view codeBrian Paul2012-08-161-32/+54
| | | | This will simplify things when the pipe_context functions are consolidated.
* gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #defineBrian Paul2012-08-1620-47/+39
| | | | | | | | | | | | PIPE_MAX_SAMPLERS, PIPE_MAX_VERTEX_SAMPLERS and PIPE_MAX_GEOMETRY_SAMPLERS were all defined to the same value (16). In various places we're creating arrays such as sampler_views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS] so we were assuming the same number of max samplers for all shader stages anyway. Of course, drivers are still free to advertise different numbers of max samplers for different shaders.
* draw: index samplers and sampler_view state by shader typeBrian Paul2012-08-163-29/+34
| | | | So that we can handle GS state and other types of shaders in the future.
* draw: move tgsi-related state into a tgsi sub-structBrian Paul2012-08-165-30/+35
| | | | To better organize things a bit.
* gallium: add a shader stage/type param to some draw functionsBrian Paul2012-08-165-37/+51
| | | | | To prepare for geometry shader texture support in the draw module. Note: we still only handle the vertex shader case.
* 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