Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | radeon/llvm: Pull changes from external version of the backend | Tom Stellard | 2012-08-23 | 21 | -76/+38 |
| | |||||
* | radeon/llvm: Simplify the convert to ISA pass | Tom Stellard | 2012-08-23 | 3 | -20/+7 |
| | |||||
* | radeon/llvm: Make sure to use the Text section in the AsmPrinter | Tom Stellard | 2012-08-23 | 1 | -0/+2 |
| | |||||
* | radeon/llvm: Use the MCCodeEmitter for R600 | Tom Stellard | 2012-08-23 | 16 | -738/+779 |
| | |||||
* | radeon/llvm: Use the MCCodeEmitter for SI | Tom Stellard | 2012-08-23 | 15 | -431/+591 |
| | |||||
* | radeon/llvm: Set 64BitPtr feature bit for SI | Tom Stellard | 2012-08-23 | 1 | -1/+1 |
| | |||||
* | radeon/llvm: Lower RETFLAG DAG Node to S_ENDPGM on SI | Tom Stellard | 2012-08-23 | 3 | -8/+12 |
| | |||||
* | radeon/llvm: Add AsmPrinter | Tom Stellard | 2012-08-23 | 8 | -0/+193 |
| | |||||
* | radeon/llvm: Mark JUMP as a pseudo instruction | Tom Stellard | 2012-08-23 | 1 | -1/+1 |
| | |||||
* | radeon/llvm: Remove the last uses of MachineOperand flags | Tom Stellard | 2012-08-23 | 2 | -8/+27 |
| | |||||
* | radeon/llvm: Add flag operand to some instructions | Tom Stellard | 2012-08-23 | 7 | -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 flags | Tom Stellard | 2012-08-23 | 4 | -50/+71 |
| | | | | | MachineOperand flags will be removed soon, so it is convienent to have only one function that modifies them. | ||||
* | radeonsi: rework vertex format handling | Christian König | 2012-08-22 | 1 | -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 handling | Christian König | 2012-08-22 | 1 | -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 v2 | Vadim Girlin | 2012-08-22 | 3 | -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]> | ||||
* | radeon/llvm: ExpandSpecialInstrs - Add support for cube instructions | Tom Stellard | 2012-08-21 | 4 | -63/+100 |
| | |||||
* | radeon/llvm: ExpandSpecialInstrs - Add support for vector instructions | Tom Stellard | 2012-08-21 | 2 | -15/+30 |
| | |||||
* | radeon/llvm: Add R600ExpandSpecialInstrs pass | Tom Stellard | 2012-08-21 | 6 | -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 indices | Tom Stellard | 2012-08-21 | 3 | -6/+19 |
| | |||||
* | radeonsi: Handle NULL sampler views getting passed in by the state tracker. | Michel Dänzer | 2012-08-21 | 2 | -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öhlich | 2012-08-20 | 1 | -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 function | archibald | 2012-08-20 | 3 | -170/+219 |
| | | | | Signed-off-by: Tom Stellard <[email protected]> | ||||
* | nv50/ir/tgsi: handle DP2 in tgsi Instruction srcMask | Christoph Bumiller | 2012-08-18 | 1 | -0/+2 |
| | | | | Solved by Tiziano Bacocco on IRC. | ||||
* | nv50/ir/emit: don't forget saturation bit on f32 add immediate | Christoph Bumiller | 2012-08-18 | 1 | -0/+2 |
| | | | | Solved by Maxim Levitsky on IRC. | ||||
* | llvmpipe: remove polygon stipple assertion | Brian Paul | 2012-08-17 | 1 | -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 reformatting | Brian Paul | 2012-08-16 | 1 | -2/+3 |
| | | | | To be consistent with other functions. | ||||
* | r600g: disable tiling for 422 formats again | Marek Olšák | 2012-08-16 | 1 | -0/+4 |
| | |||||
* | r600g: fix blits of subsampled formats | Marek Olšák | 2012-08-16 | 1 | -20/+63 |
| | |||||
* | r600g: fix copying between NPOT mipmapped compressed textures | Marek Olšák | 2012-08-16 | 1 | -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-r700 | Marek Olšák | 2012-08-16 | 1 | -1/+1 |
| | | | | This fixes a failing assertion in r600_asm.c. | ||||
* | r600g: set CB_COLOR_INFO to INVALID for disabled colorbuffers on r600-r700 | Marek Olšák | 2012-08-16 | 1 | -0/+3 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | r600g: rename r600_resource_texture to r600_texture | Marek Olšák | 2012-08-16 | 9 | -48/+48 |
| | |||||
* | r600g: always put tiled textures in VRAM | Marek Olšák | 2012-08-16 | 1 | -1/+2 |
| | |||||
* | r600g: cleanup r600_resource_texture in favor of radeon_surface | Marek Olšák | 2012-08-16 | 5 | -29/+20 |
| | |||||
* | r600g: remove unused parameter in r600_texture_create_object | Marek Olšák | 2012-08-16 | 1 | -3/+2 |
| | |||||
* | r600g: fixup the usage flag for the flushed depth texture | Marek Olšák | 2012-08-16 | 1 | -1/+1 |
| | |||||
* | radeon/llvm: Lower implicit parameters before ISel | Tom Stellard | 2012-08-16 | 3 | -69/+42 |
| | |||||
* | r600: update sampler, sampler_view code for the future | Brian Paul | 2012-08-16 | 4 | -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 changes | Brian Paul | 2012-08-16 | 3 | -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 Paul | 2012-08-16 | 1 | -4/+14 |
| | |||||
* | gallium/identity: add 'start' parameter to bind_sampler_states/views() | Brian Paul | 2012-08-16 | 1 | -4/+12 |
| | |||||
* | galahad: add 'start' parameter to bind_sampler_states/views() | Brian Paul | 2012-08-16 | 1 | -41/+57 |
| | |||||
* | svga: add 'start' parameter to bind_sampler_states/views() | Brian Paul | 2012-08-16 | 1 | -24/+65 |
| | |||||
* | llvmpipe: add 'start' parameter to bind_sampler_states/views() | Brian Paul | 2012-08-16 | 1 | -22/+45 |
| | |||||
* | softpipe: add 'start' parameter to bind_sampler_states/views() | Brian Paul | 2012-08-16 | 1 | -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 code | Brian Paul | 2012-08-16 | 1 | -50/+82 |
| | |||||
* | gallium/identity: consolidate sampler, sampler_view code | Brian Paul | 2012-08-16 | 1 | -32/+54 |
| | | | | This will simplify things when the pipe_context functions are consolidated. | ||||
* | gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #define | Brian Paul | 2012-08-16 | 15 | -36/+32 |
| | | | | | | | | | | | | 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. | ||||
* | gallium: add a shader stage/type param to some draw functions | Brian Paul | 2012-08-16 | 3 | -18/+20 |
| | | | | | 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 check | Brian Paul | 2012-08-16 | 1 | -1/+3 |
| |