aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: Emit dispatch state for compute directly to the csTom Stellard2012-07-274-69/+60
| | | | | | | We no longer rely on an evergreen_compute_resource for emitting dispatch state. Reviewed-by: Marek Olšák <[email protected]>
* r600g: Initialize VGT_PRIMITIVE_TYPE in the start_cs_cmd atomTom Stellard2012-07-271-2/+5
| | | | | | | The value of this register will always be DI_PT_POINTLIST for compute shaders. Reviewed-by: Marek Olšák <[email protected]>
* r600g: Atomize compute shader stateTom Stellard2012-07-274-86/+91
| | | | Reviewed-by: Marek Olšák <[email protected]>
* r600g: Add helper functions for emitting compute SET_CONTEXT packetsTom Stellard2012-07-272-5/+18
| | | | Reviewed-by: Marek Olšák <[email protected]>
* automake: Remove OPT_FLAGS.Eric Anholt2012-07-261-1/+0
| | | | | | | | | | If you want to change your compiler arguments, just set CFLAGS/CXXFLAGS. Having Mesa have this separate variable is a great way to have your arguments not thoroughly propagated to all compiler invocations. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* automake: Remove ARCH_FLAGS.Eric Anholt2012-07-261-1/+0
| | | | | | | | | | In all current uses, it was appended to CFLAGS, which already had -m32. If you want to do some other flag supplied to compiler invocations, there's CFLAGS/CXXFLAGS. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* r600g: enable streamout only on 2.14 or latter kernelJerome Glisse2012-07-241-1/+1
| | | | | | | | | | | | | The kernel streamout support was supposed to get into 3.3 along the tiling change and thus use the same kernel version bump of 2.13 to report userspace that streamout register were supported. This is not what happen. So as streamout kernel support did not bump the kernel driver version, rely on kernel 2.14 version bump to know if streamout is enabled or not. Which means you need at least 3.4 kernel. Signed-off-by: Jerome Glisse <[email protected]>
* 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]>