summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ac/nir: unpacked GS invocation ID on GFX10+Samuel Pitoiset2019-07-071-3/+10
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac: add missing formats to ac_get_tbuffer_format() for GFX10Samuel Pitoiset2019-07-071-0/+2
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* vulkan/overlay: fix command buffer statsLionel Landwerlin2019-07-071-0/+2
| | | | | | | | | | Begin/Reset of command buffer both reset the content of the command buffer. Don't forget to wipe them on Begin. Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: 4438188f492e1f ("vulkan/overlay: record stats in command buffers and accumulate on exec/submit") Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* anv: manually add KHR_display to the list of platformsLionel Landwerlin2019-07-071-0/+2
| | | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: 38305e6c94ea31 ("anv: replace hard-coded platform list with vk.xml parse") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111078 Reviewed-by: Eric Engestrom <[email protected]>
* docs/features: add shader buffer and atomic support for llvmpipeDave Airlie2019-07-071-5/+5
|
* llvmpipe: enable ARB_shader_storage_buffer_objectDave Airlie2019-07-072-4/+5
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: add support for shader buffer binding.Dave Airlie2019-07-078-2/+100
| | | | | | | This add support for setting shader buffers and passing them to draw or binding them to the fragment shader jit. Reviewed-by: Roland Scheidegger <[email protected]>
* draw: add shader buffer interfaces.Dave Airlie2019-07-074-1/+57
| | | | | | | This adds the interface to add mapped shader buffers, and sets up the jit linkage for them. Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: add buffer operations to the tgsi->llvm conversion.Dave Airlie2019-07-073-4/+315
| | | | | | | | | | | | This adds load, store and atomic operations. These operations have to respect the exec_mask, and can't operate in lanes where the execute is off. This is needed to avoid side effects seen outside the shaders. There is also bounds checking on the ssbo accesses vs the size ptr. Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: move mask_vec function up higher so it can be reused.Dave Airlie2019-07-071-14/+15
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* tgsi: denote which load/store/atomic channels are unsignedDave Airlie2019-07-071-0/+12
| | | | | | llvmpipe will need this info. Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: add support for ssbo to the fragment shader jit.Dave Airlie2019-07-073-2/+25
| | | | | | This just adds the ssbo ptrs to the jit fragment shader api. Reviewed-by: Roland Scheidegger <[email protected]>
* draw: add support for ssbo ptrs to jit tables.Dave Airlie2019-07-072-3/+49
| | | | | | This adds ssbo/num_ssbo ptrs to the vs/gs jit tables. Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: add some basic SSBO limits. (v2)Dave Airlie2019-07-071-0/+4
| | | | | | v2: update ssbo size Reviewed-by: Roland Scheidegger <[email protected]>
* util: add util_copy_shader_buffer.Dave Airlie2019-07-071-0/+16
| | | | | | This just adds an inline to copy a pipe_shader_buffer. Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: add ssbo pointers to the soa build api.Dave Airlie2019-07-075-8/+20
| | | | | | Need to pass ssbo + ssbo size pointers just like constants. Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: add compare exchange wrapperDave Airlie2019-07-073-1/+39
| | | | | | This just pulls the wrapper from LLVM for older versions Reviewed-by: Roland Scheidegger <[email protected]>
* vertex shader: add exec masking (v2)Dave Airlie2019-07-071-3/+10
| | | | | | | | | | As suggested by Roland this is just a compare of fetch_max vs the counter, much simpler than my original spaghetti code. We require the vertex shader to have an exec mask to get proper ssbo/image load/atore/atomics semantics Reviewed-by: Roland Scheidegger <[email protected]>
* virgl: Hide internal virgl_resource functionsAlexandros Frantzis2019-07-062-166/+157
| | | | | | | | | | | | Since the transition to virgl_resource_transfer_map(), several previously public virgl_resource functions are not required to be public anymore. We also move the functions earlier in the file so they can be used without functions declarations. Signed-off-by: Alexandros Frantzis <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* virgl: Use virgl_resource_transfer_map for texturesAlexandros Frantzis2019-07-062-60/+4
| | | | | | | | Replace custom texture map code (for maps which don't require resolve) with virgl_resource_transfer_map. Signed-off-by: Alexandros Frantzis <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* virgl: Use virgl_resource_transfer_map for buffersAlexandros Frantzis2019-07-061-79/+1
| | | | | | | Replace custom buffer map code with virgl_resource_transfer_map. Signed-off-by: Alexandros Frantzis <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* virgl: Introduce virgl_resource_transfer_mapAlexandros Frantzis2019-07-062-0/+92
| | | | | | | | | Normal mapping of buffers and textures uses almost identical logic. This commit extracts the this logic in the form of the virgl_resource_transfer_map() helper function. Signed-off-by: Alexandros Frantzis <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* iris: Use a uint16_t for key sizesJason Ekstrand2019-07-041-1/+1
| | | | | | | sizeof(struct brw_vs_prog_key) == 324. Cc: [email protected] Reviewed-by: Kenneth Graunke <[email protected]>
* ac: destroy passes in ac_destroy_llvm_compilerMarek Olšák2019-07-043-3/+3
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: use an LLVM fence instead of s.waitcnt when possibleMarek Olšák2019-07-041-9/+9
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: remove unused AC_WAIT_EXPMarek Olšák2019-07-042-7/+3
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: only set ac_dlc in ac_llvm_build.cMarek Olšák2019-07-043-14/+16
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: replace glc,slc with cache_policy for loadsMarek Olšák2019-07-047-100/+79
| | | | | | cosmetic change Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: replace glc,slc with cache_policy for storesMarek Olšák2019-07-047-86/+68
| | | | | | cosmetic change Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* etnaviv: implement buffer compressionJonathan Marek2019-07-048-49/+65
| | | | | | | | | | | | | | | Vivante GPUs have lossless buffer compression using the tile-status bits, which can reduce memory access and thus improve performance. This patch only enables compression for "V4" compression GPUs, but the implementation is tested on GC2000(V1) and GC3000(V2). V1/V2 compresssion looks absolutely useless, so it is not enabled. I couldn't test if this patch breaks MSAA, because it looks like MSAA is already broken. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: detect v4 compressionJonathan Marek2019-07-045-0/+15
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: rs: don't use etna_compatible_rs_format when possibleJonathan Marek2019-07-041-2/+9
| | | | | | | This mirrors the change in blt. RS cares about this for msaa/compression. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: combine translate_ts_sampler_format/translate_msaa_formatJonathan Marek2019-07-046-95/+92
| | | | | | | Both translate the same thing, so just add the missing cases into one. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: fix compression format not set correctly in TS_MEM_CONFIGJonathan Marek2019-07-042-3/+6
| | | | | | | VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT() needs to be used. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: set correct ts_clear_value for BLT engineJonathan Marek2019-07-041-2/+4
| | | | | | | | BLT engine uses all ones to clear TS, set ts_clear_value to match that. Note: ts_clear_value is never used with BLT engine. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: remove initial CPU ts clearJonathan Marek2019-07-041-7/+0
| | | | | | | | Since we have "ts_valid" to avoid using uncleared ts, this memset serves no purpose. Also it is broken because it doesn't use cpu_prep/cpu_fini. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: implement TS_MODE for GC7000LJonathan Marek2019-07-0410-12/+35
| | | | | | | GC7000L has a TS mode with larger tiles, which improves performance. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: fix ts size calculationJonathan Marek2019-07-041-4/+3
| | | | | | | | | | | The size of the TS is screen->specs.bits_per_tile bits per tile, with each tile being 64 bytes of the resource. This gives the same result for 32bpp formats, but reduces the size of TS for 16bpp formats by 2. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: update headers from rnndbJonathan Marek2019-07-049-99/+96
| | | | | | | Update to etna_viv commit 8a8b13a and use new names in the code. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* scons: s/HAVE_NO_AUTOCONF/HAVE_SCONS/Eric Engestrom2019-07-042-5/+4
| | | | | | | | | | Back when autotools and scons were the two build systems, it kinda made sense to call scons "not autoconf", but autoconf's been gone for a while now and other build systems have been added (android.mk and meson), so the name really doesn't make any sense anymore. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* radeonsi: Fix some warnings.Bas Nieuwenhuizen2019-07-042-2/+2
| | | | | | | | | | | | | | ../mesa/src/gallium/drivers/radeonsi/si_compute_blit.c: In function ‘si_clear_buffer’: ../mesa/src/gallium/drivers/radeonsi/si_compute_blit.c:195:11: warning: unused variable ‘clear_alignment’ [-Wunused-variable] unsigned clear_alignment = MIN2(clear_value_size, 4); ^~~~~~~~~~~~~~~ [23/60] Compiling C object 'src/gallium/drivers/radeonsi/3cdc30e@@radeonsi@sta/si_compute_prim_discard.c.o'. ../mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c: In function ‘si_prepare_prim_discard_or_split_draw’: ../mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c:1106:7: warning: unused variable ‘compute_has_space’ [-Wunused-variable] bool compute_has_space = sctx->ws->cs_check_space(cs, need_compute_dw, false); Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* amd/common: move ac_shader_{binary,reloc} into r600 and renameNicolai Hähnle2019-07-046-75/+65
| | | | | | | | They are no longer used by radeonsi or radv. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* amd/common: removed unused ac_shader_binary functionsNicolai Hähnle2019-07-042-240/+0
| | | | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* amd/common: remove unused ac_compile_module_to_binaryNicolai Hähnle2019-07-042-16/+0
| | | | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radv: Switch to using rtld.Bas Nieuwenhuizen2019-07-043-49/+35
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: Move more stuff to variant create time.Bas Nieuwenhuizen2019-07-042-61/+65
| | | | | | Due to them depending on the linker result. Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: Add the concept of radv shader binaries.Bas Nieuwenhuizen2019-07-046-233/+346
| | | | | | | | | | | | | This simplifies a bunch of stuff by (1) Keeping all the things in a single allocation, making things easier for the cache. (2) creating a shader_variant creation helper. This is immediately put to use by creating rtld shader binaries. This is the main reason for the binaries, as we need to do the linking at upload time, i.e. post caching. We do not enable rtld yet. Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: Add export_prim_id to the shader variant info.Bas Nieuwenhuizen2019-07-043-2/+6
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: use last nir shader to determine stage in postprocessingBas Nieuwenhuizen2019-07-041-1/+1
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* radv: Merge rsrc1/rsrc2 fields with the config fields.Bas Nieuwenhuizen2019-07-044-46/+39
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>