summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* v3d: drop unused shader_rec_count member from contextIago Toral2019-10-152-3/+0
| | | | | | | Looks like this was copied from the vc4 driver where it is actually included in the submit CL ioctl. Reviewed-by: Eric Anholt <[email protected]>
* freedreno/ir3: remove input ncomp fieldJonathan Marek2019-10-142-2/+2
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* etnaviv: fix vertex buffer state emission for single stream GPUsLucas Stach2019-10-141-1/+1
| | | | | | | | | GPUs with a single supported vertex stream must use the single state address to program the stream. Fixes: 3d09bb390a39 (etnaviv: GC7000: State changes for HALTI3..5) Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
* gallivm/draw/swr: make the gs_iface not depend on tgsi.Dave Airlie2019-10-154-80/+83
| | | | | | | | | | | | | This gs_iface doesn't seem to require a dependence on the tgsi context, except for the swr end prim code. This refactors the API to include all the info that the swr code needs in the interface rather than having to dig it out of the struct inheritance. This is a precursor to adding NIR support to llvmpipe. Reviewed-by: Jan Zielinski <[email protected]>
* iris: Implement the Gen < 9 tessellation quads workaroundKenneth Graunke2019-10-141-0/+3
| | | | | | | | Fixes several CTS tests: - KHR-GL46.tessellation_shader.vertex.vertex_spacing - KHR-GL46.tessellation_shader.tessellation_shader_point_mode.points_verification Fixes: 823609b1a39 ("iris/WIP: add broadwell support")
* gallium: rename PIPE_CAP_MAX_FRAMES_IN_FLIGHT to PIPE_CAP_THROTTLEJames Xiong2019-10-147-9/+7
| | | | | | | | | v2: [ Michel Dänzer ] * Update src/gallium/docs/source/screen.rst accordingly Signed-off-by: James Xiong <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> # v1 Reviewed-by: Marek Olšák <[email protected]> # v1
* gallium: simplify throttle implementationJames Xiong2019-10-144-110/+13
| | | | | | | | | | | All gallium drivers currently set MAX_FRAME_IN_FLIGHT to either 1 or 0, which means that the drivers either throttle on the previous render or don't throttle, the current implementation is more complicated than necessary and can be simplified. Signed-off-by: James Xiong <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* panfrost: Fix support for packed 24-bit formatsBoris Brezillon2019-10-131-1/+1
| | | | | | | | | pan_pack_color() color was missing the 24-bit packed format case. Looks like putting the clear color in a 32-bit slot does the trick. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* etnaviv: rework etna_resource_create tiling choiceJonathan Marek2019-10-111-40/+26
| | | | | | | | | | Now that the base resource is allowed to be incompatible with PE, we can make a smarter choice of tiling mode to avoid allocating a PE compatible base that is never used for regular textures. This affects GPUs like GC2000 where there is no tiling compatible with both PE and TE. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: rework compatible render baseJonathan Marek2019-10-117-58/+64
| | | | | | | | For PE-incompatible layouts, use a mechanism similar to what texture does to create a compatible base resource. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: get addressing mode from tiling layoutJonathan Marek2019-10-115-24/+8
| | | | | | | | Remove the "addressing_mode" state, which is currently set incorrectly, and instead deduce the addressing mode from the tiling layout. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: clear texture cache and flush ts when texture is modifiedJonathan Marek2019-10-113-29/+53
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: output the same shader-db format as freedreno, v3d and intelChristian Gmeiner2019-10-111-6/+3
| | | | | | | This lets us reuse their report.py. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
* etnaviv: nir: start to make use of compile_error(..)Christian Gmeiner2019-10-112-12/+15
| | | | | Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
* gallivm: fix coroutines on aarch64 with llvm 8Dave Airlie2019-10-111-0/+6
| | | | | | | | | | | | | | | The coroutine split pass is missing a dependency before LLVM 9.0, and fails to initialise properly if the CallGraphWrapperPass hasn't be initialised earlier (x86 does it due to some of it's passes requiring it). This is a workaround for llvm 8 (coroutines are only supported in 8 and higher). It adds another pass that has a dependency on the pass the coroutines split requires. This pass shouldn't have any raal effects. Fixes: d32690b43c9 (gallivm: add coroutine pass manager support) Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: add support for tg4 component selection.Dave Airlie2019-10-112-0/+5
| | | | | | | This is needed as part of GLES3.1 and helps for ARB_gpu_shader5. Fixes: KHR-GLES31.core.texture_gather.* cases Reviewed-by: Roland Scheidegger <[email protected]>
* gallium: add a a new cap for changing the TGSI TG4 instruction encodingDave Airlie2019-10-114-0/+11
| | | | | | | | | | | | | Accessing the TG4 component via immediates in the llvmpipe backend is quite messy (like really messy). Roland suggested we change the instruction encoding, so introduce a cap to allow the component to be selected to be store in the sampler swizzle, which should be otherwise unused. I could probably switch all drivers over, but virgl would need some work that I'd prefer not to rush it. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm/sample: add gather component selection to the key.Dave Airlie2019-10-112-1/+16
| | | | | | This allows for component selection to work as per ARB_gpu_shader5/GLES3.1 Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: increase max texture size to 2GBRoland Scheidegger2019-10-111-1/+5
| | | | | | | The 1GB limit was arbitrary, increase this to 2GB (which is the max possible without code changes). Reviewed-by: Jose Fonseca <[email protected]>
* meson: add msvc compat args to swrDylan Baker2019-10-101-6/+18
| | | | | | | | This has always been present in the scons build, so it should be in the meson build as well. Acked-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: disable graw tests on mingwDylan Baker2019-10-101-1/+6
| | | | | | | | | I can't figure out why symbols are being exposed that shouldn't. v2: - change comment to FIXME Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: don't build gallium trivial tests on windowsDylan Baker2019-10-101-2/+7
| | | | | | | | They require the pipe-loaders, which require xmlconfig, which doesn't build with msvc. Acked-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: Set visibility and compat args for grawDylan Baker2019-10-103-0/+4
| | | | | Acked-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: add switches for SWR with MSVCDylan Baker2019-10-101-2/+7
| | | | | | | | | | | | | | | | | This makes two changes for SWR, The first is that it reorders the arguments to try to put the ICL ones first. This is required to support older versions of meson that don't add enough "error in this case" switches to ICL, which causes it to happy accept -mavx (for example) even though it doesn't support them, resulting in compilation failures. The second is to fix the names of the libraries, setting the soversion to '' will result in <lib>.dll, instead of <lib>-0.dll. Since these are not versioned dll's, but implement an internal API we should communicate that. It's also what scons does. Acked-by: Kristian H. Kristensen <[email protected]>
* meson: fix pipe-loader compilation for windowsDylan Baker2019-10-101-1/+6
| | | | | | | | v2: - Add missing D to pound define - Simply define the variable rather than set it to 1 (mirrors android.mk not scons) Acked-by: Kristian H. Kristensen <[email protected]>
* meson: fix gallium-osmesa to build for windowsDylan Baker2019-10-102-2/+19
| | | | | | | | v2: - set so_version to '' (only affects windows) - always set lib prefix to 'lib', even on msvc v5: - key NO_EXPORTS on shared glapi instead of gles. Acked-by: Kristian H. Kristensen <[email protected]>
* meson: build graw-gdi targetDylan Baker2019-10-102-1/+39
| | | | Acked-by: Kristian H. Kristensen <[email protected]>
* meson: build libgl-gdi targetDylan Baker2019-10-102-0/+46
| | | | | | | v4: - Fix check for broken mingw (should be for x86 not x86_64) - Add comment about why check is needed Acked-by: Kristian H. Kristensen <[email protected]>
* meson: build wgl state trackerDylan Baker2019-10-102-0/+60
| | | | | | | | v4: - Handle enable gles properly - Add comments about what various #defines do v5: - key NO_EXPORTS on shared glapi instead of gles. Acked-by: Kristian H. Kristensen <[email protected]>
* meson: build gallium gdi winsysDylan Baker2019-10-102-0/+33
| | | | | | | v6: - use null_dep instead of [] Reviewed-by: Eric Anholt <[email protected]> (v5) Acked-by: Kristian H. Kristensen <[email protected]>
* clover: fix the nir_serialize build failureMarek Olšák2019-10-101-1/+1
| | | | Fixes: dd4cc56ebd0 "nir: add a strip parameter to nir_serialize"
* llvmpipe/draw: handle UBOs that are < 16 bytes.Dave Airlie2019-10-102-3/+8
| | | | | | | | | Not sure if this is a bug in the user or not, but some CTS tests fail due to using an 8 byte constant buffer. Fixes: KHR-GLES31.core.layout_binding.block_layout_binding_block_VertexShader Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe/draw: fix image sizes for vertex/geometry shaders.Dave Airlie2019-10-101-3/+4
| | | | | | | | | since images are a single level, minify before passing the w/h to draw. Fixes: KHR-GLES31.core.shader_image_size.basic-nonMS-vs-* Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: make texture buffer offset alignment == 16Dave Airlie2019-10-101-1/+1
| | | | | | | | | | Due to use vmovdqa instructions in the asm, which require 16-byte aligned buffers. This fixes a crash in KHR-GLES31.core.texture_buffer.texture_buffer_texture_buffer_range Reviewed-by: Roland Scheidegger <[email protected]>
* GL: drop symbols mangling supportEric Engestrom2019-10-101-4/+0
| | | | | | | | | | SCons and Meson have never supported that feature, and Autotools was deleted over 6 months ago and no-one complained yet, so it's pretty obvious nobody cares about it. Fixes: 95aefc94a941701616fd ("Delete autotools") Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Dylan Baker <[email protected]>
* gallium: remove PIPE_SHADER_CAP_SCALAR_ISAMarek Olšák2019-10-1018-39/+0
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* tgsi_to_nir: use nir_shader_compiler_options::lower_to_scalarMarek Olšák2019-10-101-5/+3
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* nir: add nir_shader_compiler_options::lower_to_scalarMarek Olšák2019-10-104-0/+4
| | | | | | | | This will replace PIPE_SHADER_CAP_SCALAR_ISA. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* tgsi_to_nir: add #ifdef header guardsMarek Olšák2019-10-101-0/+5
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* nir: add a strip parameter to nir_serializeMarek Olšák2019-10-103-16/+4
| | | | | | | so that drivers don't have to call nir_strip manually. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* v3d: take into account prim_counts_offsetAlejandro Piñeiro2019-10-101-1/+1
| | | | | | | | | | | | | | | | | | Specifically when reading the primitive counters. This fixed ~700 CTS tests using this pattern: dEQP-GLES3.functional.transform_feedback.* when run after tests like dEQP-GLES3.functional.prerequisite.read_pixels on the same caselist. When run individually those tests were passing because prim_counts_offset was zero. Fixes: 0f2d1dfe65bfe1ee8f02ce45f100a5508debdfd4 ("v3d: use the GPU to record primitives written to transform feedback") Reviewed-by: Jose Maria Casanova Crespo <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
* clover: Remove unused codeMatt Turner2019-10-091-17/+0
| | | | | Fixes: 96b592696f1 ("gallium: Require LLVM >= 3.9") Bug: https://bugs.gentoo.org/685678
* clover: use iterator_range in get_kernel_nodesGreg V2019-10-091-2/+2
| | | | | | With libc++ (LLVM's STL implementation), the original code does not compile because an appropriate vector constructor cannot be found (for the _ForwardIterator one, requirement is_constructible is not satisfied).
* radeonsi: enable MSAA shader imagesMarek Olšák2019-10-091-3/+0
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: expand FMASK before MSAA image stores are usedMarek Olšák2019-10-097-24/+193
| | | | | | Image stores don't use FMASK, so we have to turn it into identity. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: apply FMASK to MSAA image loadsMarek Olšák2019-10-092-11/+42
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: clean up image_fetch_rsrcMarek Olšák2019-10-091-33/+27
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: add FMASK slots for shader images (for MSAA images)Marek Olšák2019-10-095-26/+42
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: set the sample index for shader images correctlyMarek Olšák2019-10-091-6/+7
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: fix GLSL imageSamples()Marek Olšák2019-10-091-0/+13
| | | | | | We haven't supported MSAA images, so it doesn't matter much. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>