summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: split flushed depth texture creation and flushingMarek Olšák2012-06-255-16/+34
|
* r600g: Unify SURFACE_SYNC packet emission for 3D and computeTom Stellard2012-06-213-101/+30
| | | | | | Drop the compute specific evergreen_set_buffer_sync() function and instead use the r600_surface_sync_command atom for emitting SURFACE_SYNC packets.
* r600g: Enable reusing of compute stateTom Stellard2012-06-211-6/+9
|
* r600g: Fix reading vtx instruction offset from bytestreamTom Stellard2012-06-211-1/+1
|
* make: Fold ASM_CFLAGS into DEFINES.Eric Anholt2012-06-211-1/+0
| | | | | | Every place that uses ASM_FLAGS already uses DEFINES. Not including it in DEFINES is just a way to screw up potential users, as I've done several times while working on the build system.
* r600g: fix z/stencil texture creation v2Jerome Glisse2012-06-191-15/+17
| | | | | | | | | | z or stencil texture should not be created with the z/stencil flags for surface creation as they are intended to be bound as texture. v2: remove broken code Signed-off-by: Jerome Glisse <[email protected]>
* gallium: Add PIPE_CAP_START_INSTANCEFredrik Höglund2012-06-191-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* r600g: enable streamout by default on r7xx and DRM 2.17.0Marek Olšák2012-06-173-8/+16
| | | | | | Now that it's in Linus's tree. Has anyone had a chance to test streamout on Cayman recently?
* r600g: fix lockups with streamout on r7xxMarek Olšák2012-06-152-0/+15
| | | | | | | | | This requires the latest streamout kernel patches. Streamout is disabled by default on r7xx, so this patch is safe for regular users. Reviewed-by: Alex Deucher <[email protected]>
* r600g: compute CS space for streamout correctly, add commentsMarek Olšák2012-06-151-6/+7
| | | | | | SET_CONTEXT_REG was not counted in. Reviewed-by: Alex Deucher <[email protected]>
* r600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsetsMarek Olšák2012-06-151-1/+2
| | | | | | It helps on R7xx. Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: enable IB submission to compute rings v2Christian König2012-06-151-1/+1
| | | | | | | | | | | This allows to submit things to the compute only rings on cayman+ v2: rebased on current master and actually make use of the new flag in evergreen_compute.c Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600g: Compute support for CaymanTom Stellard2012-06-064-18/+51
|
* radeon/llvm: Emit 2 bytes for vertex fetch offsetsTom Stellard2012-06-011-0/+2
|
* r600g: compute support for evergreenAdam Rak2012-06-0120-12/+2674
| | | | | | | | | Tom Stellard: - Updated for gallium interface changes - Fixed a few bugs: + Set the loop counter + Calculate the correct number of pipes - Added hooks into the LLVM compiler
* r600g: handle R16G16B16_FLOAT and R32G32B32_FLOAT in translate_colorswapKai Wasserbäch2012-05-251-0/+2
| | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50318 Signed-off-by: Kai Wasserbäch <[email protected]>
* Revert "r600g: set round_mode to truncate and get rid of tgsi_f2i on evergreen"Vadim Girlin2012-05-252-6/+56
| | | | | | | | | | | | This reverts commit 60bf0f05b472e66bf1175fcec7a274dab6f7e2a3. It seems round_mode behaves differently in some cases depending on the instruction/slot. Reverting it for now. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50232 Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: fix sampler index in llvm_emit_texVadim Girlin2012-05-251-2/+4
| | | | | | | | | | Sampler index isn't a second source operand for some tgsi texture instructions. Let's assume it's always the last. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50230 Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g: add RECIP_INT, PRED_SETE_INT to r600_bytecode_get_num_operandsVadim Girlin2012-05-251-0/+2
| | | | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=50315 Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g: Handle MUL_IEEE in r600_bytecode_get_num_operandsTom Stellard2012-05-171-0/+2
|
* gallium/radeon: Fix r300g tiling breakage.Michel Dänzer2012-05-161-0/+1
| | | | | | Commit 11f056a3f0b87e86267efa8b5ac9d36a343c9dc1 broke the r300g build. Fix it up, and reinstate some code which isn't needed by r600g and radeonsi but is by r300g.
* r600g: Set tiling information for BOs being shared.Michel Dänzer2012-05-161-0/+12
| | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=48747
* radeon/llvm: add SET_GRADIENTS*, fix SAMPLE_GVadim Girlin2012-05-151-5/+12
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: use IntrNoMem property for intrinsics where possibleVadim Girlin2012-05-151-10/+13
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g: remove slab allocator for pipe_resource (used mainly for user buffers)Marek Olšák2012-05-133-41/+4
|
* r600g: handle R16G16B16_FLOAT and R32G32B32_FLOAT in translate_colorswap (EG)Marek Olšák2012-05-121-0/+2
|
* gallium: remove user_buffer_create from the interfaceMarek Olšák2012-05-123-29/+0
| | | | Nothing uses it now.
* r600g: Handle compute caps.Francisco Jerez2012-05-121-0/+3
|
* r600g: setup COLOR1 for possible dual-src in the framebuffer bindDave Airlie2012-05-124-15/+12
| | | | | | | | As pointed out by Marek, if we have only one cb, we may as well add this single register write here rather than adding it in the draw loop. Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: assume DISCARD_WHOLE_RESOURCE is always used with WRITEMarek Olšák2012-05-111-6/+5
|
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-117-46/+37
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-301-5/+0
| | | | | | | | It's unused now.
| * gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-303-10/+6
| | | | | | | | This reduces CPU overhead when updating constants.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-302-4/+4
| | | | | | | | | | | | | | Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe. User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: remove pipe_context::redefine_user_bufferMarek Olšák2012-04-302-2/+0
| |
| * gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-304-34/+31
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-301-0/+3
| | | | | | | | | | | | | | | | This is required for any serious constant buffer support. Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be a multiple of 256. In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
| * gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERSMarek Olšák2012-04-301-0/+2
| |
* | gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token.Francisco Jerez2012-05-111-3/+3
| | | | | | | | | | | | Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration to a separate token -- they only make sense for FS inputs and we need room for other flags in the top-level declaration token.
* | gallium/tgsi: Split sampler views from shader resources.Francisco Jerez2012-05-111-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit splits the current concept of resource into "sampler views" and "shader resources": "Sampler views" are textures or buffers that are bound to a given shader stage and can be read from in conjunction with a sampler object. They are analogous to OpenGL texture objects or Direct3D SRVs. "Shader resources" are textures or buffers that can be read and written from a shader. There's no support for floating point coordinates, address wrap modes or filtering, and, unlike sampler views, shader resources are global for the whole graphics pipeline. They are analogous to OpenGL image objects (as in ARB_shader_image_load_store) or Direct3D UAVs. Most hardware is likely to implement shader resources and sampler views as separate objects, so, having the distinction at the API level simplifies things slightly for the driver. This patch introduces the SVIEW register file with a declaration token and syntax analogous to the already existing RES register file. After this change, the SAMPLE_* opcodes no longer accept a resource as input, but rather a SVIEW object. To preserve the functionality of reading from a sampler view with integer coordinates, the SAMPLE_I(_MS) opcodes are introduced which are similar to LOAD(_MS) but take a SVIEW register instead of a RES register as argument.
* | gallium/drivers: handle TGSI_OPCODE_CEILChristoph Bumiller2012-05-091-0/+2
| |
* | r600g: Handle TGSI_OPCODE_CEIL (v2)Kai Wasserbäch2012-05-091-3/+3
| | | | | | | | | | | | | | v2: Enabled CEIL on Cayman too. Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* | radeon/llvm: Remove the EXPORT_REG instructionTom Stellard2012-05-081-8/+2
| |
* | radeon/llvm: Use a custom inserter to lower RESERVE_REGTom Stellard2012-05-081-6/+2
| |
* | radeon/llvm: add suport for cube texturesVadim Girlin2012-05-081-22/+0
| | | | | | | | Signed-off-by: Vadim Girlin <[email protected]>
* | radeon/llvm: add support for TXQ/TXF/DDX/DDY instructionsVadim Girlin2012-05-081-0/+4
| | | | | | | | Signed-off-by: Vadim Girlin <[email protected]>
* | radeon/llvm: add support for VertexID, InstanceIDVadim Girlin2012-05-081-0/+34
| | | | | | | | Signed-off-by: Vadim Girlin <[email protected]>
* | radeon/llvm: use bitcasts for integersVadim Girlin2012-05-081-1/+3
| | | | | | | | | | | | | | | | | | We're using float as default type, so basically for every instruction that wants other types for dst/src operands we need to perform the bitcast to/from default float. Currently bitcast produces no-op MOV instruction, will be eliminated later. Signed-off-by: Vadim Girlin <[email protected]>
* | r600g: Fix out of tree builds that use the LLVM backendTom Stellard2012-05-071-1/+1
| | | | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=49567
* | r600g/llvm: Mask write of pred_inst in llvm_if()Tom Stellard2012-05-031-0/+1
| |