aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: enable tessellation, update GL3.txt & release notesMarek Olšák2015-07-231-3/+11
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add scratch buffer support for tessellation shadersMarek Olšák2015-07-231-8/+28
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: update invariant registers for tessellationMarek Olšák2015-07-231-2/+6
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add assertions into draw_vbo and check tessellationMarek Olšák2015-07-231-1/+7
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: set the rasterization primitive type for tessellationMarek Olšák2015-07-231-0/+3
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: set VGT_LS_HS_CONFIG for tessellationMarek Olšák2015-07-233-4/+28
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: update IA_MULTI_VGT_PARAM for tessellationMarek Olšák2015-07-231-3/+51
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add derived tessellation stateMarek Olšák2015-07-234-3/+146
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: implement a fixed-function tessellation control shader and its stateMarek Olšák2015-07-234-1/+68
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: set up a ring buffer for tessellation factorsMarek Olšák2015-07-234-0/+42
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add tessellation shader statesMarek Olšák2015-07-233-13/+203
| | | | | | ls_rsrc# will be emitted as part of the derived tessellation state Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: update si_get_vs_info and si_get_vs_state for tessellationMarek Olšák2015-07-231-2/+8
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add shader code generation for tessellationMarek Olšák2015-07-235-29/+851
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: implement TGSI_OPCODE_BARRIERMarek Olšák2015-07-231-0/+12
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: program VGT_SHADER_STAGES_EN for tessellationMarek Olšák2015-07-234-23/+45
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add translation of PATCH primitivesMarek Olšák2015-07-231-0/+2
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add support for tessellation shader resources and samplersMarek Olšák2015-07-232-8/+37
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add code for creating, binding and destroying tessellation shadersMarek Olšák2015-07-233-0/+74
| | | | | | This doesn't do anything yet. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: add debug flags for dumping tessellation shadersMarek Olšák2015-07-232-9/+17
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: rework how shader pointers to descriptors are setMarek Olšák2015-07-235-91/+156
| | | | | | | | | | | | | | | | | This is mainly needed for tessellation where a VS can be bound as VS, ES, or LS, and TES (tess. evaluationshader) can be bound as VS or ES or neither. Therefore we need the ability to move pointers to descriptors between shaders arbitrarily. The idea is that the context has a mapping from PIPE_SHADER_x to SPI_SHADER_USER_DATA_x. After a shader is enabled or disabled, si_shader_change_notify should be called to update this mapping accordingly. There is a dirty flag for each shader pointer, but only one emit function for all pointers in the whole context, whose code and logic is separated from descriptors. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: rename build_streamout_store -> build_tbuffer_store_dwordsMarek Olšák2015-07-231-12/+12
| | | | | | It will be reused later. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: separate primitive ID computationMarek Olšák2015-07-231-7/+20
| | | | | | Support for new shader stages will be added here. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: move declaring streamout parameters to its own functionMarek Olšák2015-07-231-13/+23
| | | | | | It will be reused later. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: make ES2GS offset sgpr location dynamicMarek Olšák2015-07-232-6/+3
| | | | | | It will have a different location in the tessellation evaluation shader. Reviewed-by: Michel Dänzer <[email protected]>
* gallium/radeon: expose emit_fetchMarek Olšák2015-07-232-19/+15
| | | | Radeonsi will use this.
* gallium/radeon: expose LLVM functions implementing emit_storeMarek Olšák2015-07-232-5/+13
| | | | | | | | emit_store will be reimplemented for tessellation control shader outputs where only radeon_llvm_saturate will be used, but radeonsi will want to fall back to radeon_llvm_emit_store for other register types. This exposes both functions.
* winsys/radeon: implement buffer_unmapMarek Olšák2015-07-232-6/+24
| | | | | | | This has been a no-op due to performance concerns. From now on, drivers should decide when they don't want to unmap, not the winsys. Reviewed-by: Michel Dänzer <[email protected]>
* gallium/radeon: remove buffer_unmap calls that can potentially decrease perfMarek Olšák2015-07-237-26/+1
| | | | | | | | | | | | | buffer_unmap is currently a no-op on radeon and done correctly on amdgpu. I plan to fix it for radeon, but before that, all occurences of buffer_unmap that can negatively affect performance in the future must be removed. There are 2 reasons for removing buffer_unmap calls: - There is a likelihood that buffer_map will be called again, so we don't want to unmap yet. - The buffer is being released, which automatically unmaps it. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove switch statement in si_create_contextMarek Olšák2015-07-233-13/+7
| | | | | | and make si_init_config static Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: don't change pipe_resource in resource_copy_regionMarek Olšák2015-07-234-160/+110
| | | | | | | Copied from r600g. pipe_resource can be shared by multiple threads, so we shouldn't change it. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: upload shader rodata after updating scratch relocationsMarek Olšák2015-07-233-29/+29
| | | | | | Cc: 10.5 10.6 <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove redundant parameter in si_shader_binary_readMarek Olšák2015-07-233-8/+5
| | | | | Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* cso: eliminate some sampler function wrappersMarek Olšák2015-07-232-33/+12
|
* gallium/tests: use cso_set_samplersMarek Olšák2015-07-231-2/+3
|
* gallium/util: use cso_set_samplersMarek Olšák2015-07-233-13/+20
|
* cso: remove clip state handlingMarek Olšák2015-07-232-57/+0
| | | | | | There is no need for this. v2: handle redundant clip state changes in st/mesa
* cso: only allow saving and restoring fragment sampler statesMarek Olšák2015-07-225-20/+24
|
* cso: drop inefficient checking for redundant sampler state changesMarek Olšák2015-07-221-26/+2
| | | | | Drivers can do this better, because they can skip redundant state changes at per-slot granularity.
* cso: only allow saving and restoring fragment sampler viewsMarek Olšák2015-07-225-60/+59
| | | | Not needed for other shader stages.
* gallium/util: improve dump functionsMarek Olšák2015-07-223-53/+241
| | | | Reviewed-by: Brian Paul <[email protected]>
* tgsi: allow dumping to a file directlyMarek Olšák2015-07-223-8/+23
|
* st/dri: enable 3D textures and sRGB colorspace for EGLAnatoli Antonovitch2015-07-221-0/+14
| | | | | Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* st/dri: expose sRGB visuals (v2)Marek Olšák2015-07-222-5/+25
| | | | | | | v2: The fix for the darkness in Ubuntu Unity is in the hunk with the 4-line comment. Reviewed-by: Emil Velikov <[email protected]>
* scons: don't build the kms-dri winsysEmil Velikov2015-07-224-30/+0
| | | | | | | | | Same as previous commit - unused (gbm is not a thing outside the autotools build). v2: Remove trailing HAVE_LIBDRM. Signed-off-by: Emil Velikov <[email protected]>
* android: don't build the kms-dri winsysEmil Velikov2015-07-224-40/+2
| | | | | | | | | | GBM (the only user of kms-dri) is currently not available under Android. Considering we have no way of testing/using this let's not bother building it for now. Cc: Chih-Wei Huang <[email protected]> Cc: Eric Anholt <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* android: dri: correctly set HAVE_LIBDRMEmil Velikov2015-07-221-5/+3
| | | | | | | | Set the macro if we're not building swrast alone. Cc: Eric Anholt <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Chih-Wei Huang <[email protected]>
* st/dri: unwrap/remove __NOT_HAVE_DRM_H magicEmil Velikov2015-07-224-23/+1
| | | | | | | | | | | | | | | With the dri_interface.h clean of the macro, we can remove the final only st/dri specific use of the very same. Seemingly it was incorrectly used, as the build-time presence of dri2 is not libdrm specific. At run-time, the code is already limited to dri2 use-cases plus returning true, when the extension is not present (or too old) will likely lead to a crash as one tries to use it shortly after the dri_with_format() call. As a side effect this gives us a nice cleanup the builds. Signed-off-by: Emil Velikov <[email protected]>
* radeonsi: Flush when we're asked to return a fence but don't have one yetMichel Dänzer2015-07-221-1/+2
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: replace INLINE with inlineIlia Mirkin2015-07-21394-1521/+1514
| | | | | | | | | | | | | | | | Generated by running: git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g' git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g' git checkout src/gallium/state_trackers/clover/Doxyfile and manual edits to src/gallium/include/pipe/p_compiler.h src/gallium/README.portability to remove mentions of the inline define. Signed-off-by: Ilia Mirkin <[email protected]> Acked-by: Marek Olšák <[email protected]>
* nvc0: force cache flush when binding a new uboSamuel Pitoiset2015-07-211-0/+2
| | | | | | | | This fixes the following piglit test: ext_transform_feedback-immediate-reuse-uniform-buffer Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>