aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: don't emit forbidden reg with old kernel on evergreenJerome Glisse2012-07-231-1/+3
| | | | | | Fix https://bugs.freedesktop.org/show_bug.cgi?id=52313 Signed-off-by: Jerome Glisse <[email protected]>
* r600g: don't emit forbidden register on old kernelJerome Glisse2012-07-232-2/+6
| | | | | | Fix https://bugs.freedesktop.org/show_bug.cgi?id=52313 Signed-off-by: Jerome Glisse <[email protected]>
* radeon/llvm: Fix a bug with IF LOGICALNZ with int operandVincent Lejeune2012-07-231-8/+12
| | | | Signed-off-by: Tom Stellard <[email protected]>
* r600g: setup streamout before calling last r600_need_cs_space before drawingMarek Olšák2012-07-181-6/+6
| | | | | This fixes CS checker errors due to registers not being initialized, because the flush occured after dirty state was emitted but before drawing.
* r600g: implement wait-free buffer transfer for DISCARD_RANGEMarek Olšák2012-07-184-16/+50
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: accelerate buffer copyingMarek Olšák2012-07-181-23/+47
| | | | | | | This will be useful for efficient handling of the DISCARD transfer flags. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: update R600_MAX_DRAW_CS_DWORDS to take draw-opaque into accountMarek Olšák2012-07-182-4/+2
|
* r600g: move VGT_STRMOUT_DRAW_OPAQUE_OFFSET initialization into invariant stateMarek Olšák2012-07-183-1/+3
|
* r600g: only set the index type if drawing is indexedMarek Olšák2012-07-181-4/+5
|
* r600g: remove debug code for streamoutMarek Olšák2012-07-181-11/+0
|
* r600g: inline r600_context_draw_opaque_countMarek Olšák2012-07-183-32/+21
|
* r600g: fix alphatest without a colorbuffer on evergreenMarek Olšák2012-07-181-1/+4
|
* r600g: fix alphatest without a colorbuffer on r6xx-r7xxMarek Olšák2012-07-181-6/+10
|
* r600g: always derive alphatest state from the first colorbufferMarek Olšák2012-07-184-14/+22
|
* r600g: atomize alphatest stateMarek Olšák2012-07-186-46/+52
|
* r600g: try to fix line stippling with lineloopsMarek Olšák2012-07-181-1/+2
| | | | The piglit test is failing, but visually it looks almost correct.
* r600g: optimize uploading depth texturesMarek Olšák2012-07-181-11/+5
| | | | | | | Make it only copy the portion of a depth texture being uploaded and not the whole 2D layer. There is also a little code cleanup.
* r600g: remove needless wrapper r600_texture_depth_flushMarek Olšák2012-07-183-35/+15
|
* r600g: init_flushed_depth_texture should be able to report errorsMarek Olšák2012-07-184-18/+11
|
* r600g: fix lockups with and enable dual source blending on evergreenMarek Olšák2012-07-172-4/+4
| | | | GL_ARB_blend_func_extended is now enabled on all chipsets.
* r600g: remove unused code after conversion of sampler viewsMarek Olšák2012-07-177-249/+5
|
* r600g: convert sampler view emission into atomsMarek Olšák2012-07-176-134/+238
| | | | | Vertex and constant buffers are emitted in the same way. This is mainly a simplification of the code. The cleanup is in another patch.
* r600g: only make constant buffers dirty if there's something to updateMarek Olšák2012-07-171-4/+6
|
* r600g: properly track which textures are depthMarek Olšák2012-07-173-19/+26
| | | | This fixes the issue with have_depth_texture never being set to false.
* r600g: consolidate and optimize sampler states changes for evergreenMarek Olšák2012-07-171-14/+22
| | | | Only set sampler states which changed.
* r600g: don't invalidate texture caches when setting sampler statesMarek Olšák2012-07-171-6/+0
| | | | Changing sampler states doesn't change resource bindings.
* r600g: consolidate code for setting sampler views and fix bugs in the processMarek Olšák2012-07-174-90/+62
| | | | | | | | | | | | | | | Issues fixed: - set_vs_sampler_views for evergreen is now properly implemented. - Added the missing inval_texture_cache call for evergreen. - have_depth_texture was sometimes incorrectly set to false on evergreen even if there were depth textures in other shader stages. To fix this, set it to true once and never set it to false again. It's stupid, but it matches the r600 code. The proper fix is left to another patch. - Optimizaton: The sampler views which aren't changed aren't updated.
* r600g: remove unused flag have_depth_fbMarek Olšák2012-07-174-10/+3
| | | | | | | | | | This is a leftover from: commit fe1fd675565231b49d3ac53d0b4bec39d8bc6781 Author: Marek Olšák <[email protected]> Date: Sun Jul 8 03:10:37 2012 +0200 r600g: don't flush depth textures set as colorbuffers
* r600g: do fine-grained vertex buffer updatesMarek Olšák2012-07-178-63/+87
| | | | | | If only some buffers are changed, the other ones don't have to re-emitted. This uses bitmasks of enabled and dirty buffers just like emit_constant_buffers does.
* r600g: don't call inval_shader_cache in r600_context_flush twiceMarek Olšák2012-07-171-1/+0
| | | | It's already called in r600_constant_buffers_dirty.
* r600g: fix all failing depth-stencil tests for evergreenMarek Olšák2012-07-173-10/+22
|
* radeon/llvm: fix compiling when llvm is active, but opencl isn'tChristian König2012-07-171-0/+4
| | | | | Signed-off-by: Christian König <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g: compute needed CS space for vertex buffers correctlyMarek Olšák2012-07-151-1/+1
|
* r600g: don't check the R600_GLSL130 env varMarek Olšák2012-07-153-6/+3
| | | | GLSL 1.3 has been enabled by default for quite a while.
* r600g: fix DB decompression on evergreenJerome Glisse2012-07-153-26/+16
| | | | | | Separated out of the hyperz patch by Marek with minor modifications. Signed-off-by: Marek Olšák <[email protected]>
* r600g: Emit vertex buffers using the same method as constant buffersTom Stellard2012-07-157-26/+55
| | | | Signed-off-by: Marek Olšák <[email protected]>
* r600g: Unify 3D and compute vertex buffer emissionTom Stellard2012-07-155-100/+64
| | | | Signed-off-by: Marek Olšák <[email protected]>
* r600g: fix grammar constant_buffer -> constant_buffersMarek Olšák2012-07-152-17/+17
|
* r600g: fix uploading non-zero mipmap levels of depth texturesMarek Olšák2012-07-121-2/+3
| | | | | | This fixes piglit/depth-level-clamp. Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't flush depth textures set as colorbuffersMarek Olšák2012-07-121-18/+0
| | | | | | | | The only case a depth buffer can be set as a color buffer is when flushing. That wasn't always the case, but now this code isn't required anymore. Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't set dirty_db_mask for a flushed depth textureMarek Olšák2012-07-121-2/+0
| | | | | | A flush depth texture is never set as a depth buffer and never flushed. Reviewed-by: Alex Deucher <[email protected]>
* r600g: flush depth textures bound to vertex shadersMarek Olšák2012-07-123-16/+17
| | | | | | This was missing/broken. There are also minor code cleanups. Reviewed-by: Alex Deucher <[email protected]>
* r600g: do fine-grained depth texture flushingMarek Olšák2012-07-125-34/+69
| | | | | | | | - maintain a mask of which mipmap levels are dirty (instead of one big flag) - only flush what was requested at a given point and not the whole resource (most often only one level and one layer has to be flushed) Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove is_flush from DSA stateMarek Olšák2012-07-124-14/+16
| | | | | | | we can just update the state when decompressing, there's no need to add additional info into the DSA state Reviewed-by: Alex Deucher <[email protected]>
* r600g: set DISABLE in CB_COLOR_CONTROL if colormask is 0Marek Olšák2012-07-124-3/+17
| | | | | | this will be useful for in-place DB decompression, otherwise should be harmless Reviewed-by: Alex Deucher <[email protected]>
* r600g: move CB_SHADER_MASK setup into cb_misc_stateMarek Olšák2012-07-126-28/+32
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: move MULTIWRITE setup into cb_misc_state for r6xx-r7xxMarek Olšák2012-07-124-21/+20
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: move CB_TARGET_MASK setup into new cb_misc_stateMarek Olšák2012-07-128-13/+51
| | | | | | | | | | to remove some overhead from draw_vbo. This is a derived state. BTW, I've got no idea how compute interacts with 3D here, but it should use cb_misc_state, so that 3D and compute don't conflict. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g/compute: Disable growing the memory poolTom Stellard2012-07-114-23/+38
| | | | | | | | | | | | | | | | | | | | | | | The code for growing the memory pool (which is used for storing all of the global buffers) wasn't working. There seem to be two separate issues with the memory pool code. The first was the way it was growing the pool. When the memory pool needed more space, it would: 1. Copy the data from the memory pool's backing texture to system memory. 2. Delete the memory pool's texture 3. Create a bigger backing texture for the memory pool. 4. Copy the data from system memory into the bigger texture. The copy operations didn't seem to be working, and I suspect that since they were using fragment shaders to do the copy, that there might have been a problem with the mixing of compute and 3D state. The other issue is that the size of 1D textures is limited, and I was having trouble getting 2D textures to work. I think these problems will be easier to solve once more code is shared between 3D and compute, which is why I decided to disable it for now rather than continue searching for a fix.
* r600g/compute: Add more debugging outputTom Stellard2012-07-112-1/+42
|