summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* clover: update ICD table to support everything up to 2.2Karol Herbst2019-02-262-1/+218
| | | | | | Signed-off-by: Karol Herbst <[email protected]> Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Pierre Moreau <[email protected]>
* include/CL: Update to the latest OpenCL 2.2 headersPierre Moreau2019-02-261-0/+5
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Karol Herbst <[email protected]>
* gallium/u_tests: use a compute-only context to test GCN compute ringMarek Olšák2019-02-261-5/+3
|
* radeonsi: always use compute rings for clover on CI and newer (v2)Marek Olšák2019-02-2611-75/+130
| | | | | | initialize all non-compute context functions to NULL. v2: fix SI
* freedreno/a6xx: vertex_id is not _zero_basedRob Clark2019-02-261-1/+1
| | | | | | Fixes dEQP-GLES31.functional.draw_base_vertex.draw_elements_base_vertex.builtin_variable.vertex_id Signed-off-by: Rob Clark <[email protected]>
* freedreno/a6xx: fix DRAW_IDX_INDIRECT max_indiciesRob Clark2019-02-261-2/+1
| | | | | | | | The indirect offset does not effect the index buffer size. Fixes all of dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_100x100_drawcount_* with drawcount > 1. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a6xx: fix ssbo alignmentRob Clark2019-02-261-1/+2
| | | | | | | | | | Fixes a bunch of deqp ssbo tests that use multiple ssbo blocks packed into a single buffer. Note the a5xx value seems suspicious, but this is what blob seems to advertise. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a6xx: fix hangs with large shadersRob Clark2019-02-261-2/+2
| | | | | | | | | | We were overflowing instrlen (which is # of groups of 16 instructions) in a couple dEQP tests, causing gpu hangs: dEQP-GLES31.functional.ubo.random.all_per_block_buffers.13 dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20 Signed-off-by: Rob Clark <[email protected]>
* svga: fix dma.pending > 0 testBrian Paul2019-02-261-1/+1
| | | | | | The dma.pending field is boolean, so testing for > 0 isn't right. Reviewed-by: Neha Bhende <[email protected]>
* svga: assorted whitespace and formatting fixesBrian Paul2019-02-267-56/+52
| | | | | | Remove trailing whitespace, etc. Trivial.
* freedreno/a6xx: Silence compiler warningsEduardo Lima Mitev2019-02-261-2/+4
| | | | | | | util_format_compose_swizzles() expects 'const unsigned char' and we are feeding it 'char'. Reviewed-by: Rob Clark <[email protected]>
* meson/iris: Use current coding styleDylan Baker2019-02-251-7/+10
| | | | | | Just a few minor style things. Reviewed-by: Jordan Justen <[email protected]>
* radeonsi: fix query buffer allocationTimothy Arceri2019-02-262-25/+32
| | | | | | | | | | | | Fix the logic for buffer full check on alloc. This patch just takes the fix Nicolai attached to the bug report and updates it to work on master. Fixes: e0f0d3675d4 ("radeonsi: factor si_query_buffer logic out of si_query_hw") Reviewed-by: Marek Olšák <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109561
* swr/rast: Fix autotools and scons codegenAlok Hota2019-02-252-20/+12
| | | | | | Use new input flags for gen_archrast.py Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add general SWTag statisticsAlok Hota2019-02-253-161/+191
| | | | | | Update Archrast parser to use stats, used with an internal tool Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add string handling to AR event frameworkAlok Hota2019-02-255-31/+54
| | | | | | For use by an internal tool Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add initial SWTag proto definitionsAlok Hota2019-02-252-39/+71
| | | | | | Update gen_archrast.py to properly generate event IDs Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Cleanup and generalize gen_archrastAlok Hota2019-02-252-81/+41
| | | | | | Update meson.build to accomodate Reviewed-by: Bruce Cherniak <[email protected]>
* d3d: meson: do not prefix user provided d3d-drivers-pathSergii Romantsov2019-02-251-1/+1
| | | | | | | | | | | | | | | | | The user can select the location where there d3d drivers are installed by the d3d-drivers-path meson option. By default path will be $prefix/$libdir/d3d. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. Based on logic of Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Kenneth Graunke <[email protected]> CC: Emil Velikov <[email protected]> Signed-off-by: Sergii Romantsov <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* iris: Properly allow rendering to RGBX formats.Kenneth Graunke2019-02-251-2/+9
| | | | | | | | | | | | I was converting them at pipe_surface creation time, but not when answering queries about whether formats support rendering. This caused a lot of FBO incomplete errors for formats that ought to be supported. Fixes "Child of Light", which uses PIPE_FORMAT_R8G8B8X8_UNORM_SRGB. Also fixes Witcher 1 using wined3d (GL) according to Timur Kristóf. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109738
* iris: Drop RGBX -> RGBA for storage image usagesKenneth Graunke2019-02-251-6/+3
| | | | GLSL doesn't expose RGB/RGBX image formats, so this isn't needed.
* iris: Always use in-tree i915_drm.hJordan Justen2019-02-243-3/+3
| | | | | | | | Ref: f1374805a86 "drm-uapi: use local files, not system libdrm" Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* panfrost: Decode render target swizzle/channelsAlyssa Rosenzweig2019-02-253-23/+81
| | | | | | | | | | | On MRT-capable systems, the framebuffer format is encoded as a 64-bit word in the render target descriptor. Previously, the two 32-bit words were exposed as opaque hex values. This commit identifies a 12-bit Mali swizzle and a 2-bit channel counter, removing some of the magic. It also adds decoding support for the AFBC and MSAA enable bits, which were already known but otherwise ignored in pandecode. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost/midgard: Add fround(_even), ftrunc, ffmaAlyssa Rosenzweig2019-02-253-0/+14
| | | | | | | | | | | These ops were discovered by invoking the correspondingly names GLSL functions. The rounding ops here behave exact as expected and are mapped to their corresponding NIR ops where applicable. The ffma behaves as a LUT instruction and requires some special argument packing (since Midgard normally only allows for 2 arguments); this quirk will be addressed in the future, but for now FMA is still lowered. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost/nondrm: Split out dump_countersAlyssa Rosenzweig2019-02-252-5/+10
| | | | | | Previously, this function was implied a part of the job submit. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost/nondrm: Make COHERENT_LOCAL explicitAlyssa Rosenzweig2019-02-252-1/+2
| | | | | | | | This flag corresponds to what was MEM_COHERENT_LOCAL in the vendor driver, which seems to influence the cache policy, necessary for the varying temporary storage but nothing else. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost/nondrm: Flag CPU-invisible regionsAlyssa Rosenzweig2019-02-252-3/+4
| | | | | | | Potentially, the kernel could optimize these allocations, or perhaps we can save on mapping costs. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost/meson: Remove subdir for nondrmAlyssa Rosenzweig2019-02-251-1/+0
| | | | | | This change fixes cross builds with the (temporary) non-DRM overlay. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Use tiler fast path (performance boost)Alyssa Rosenzweig2019-02-251-4/+38
| | | | | | | | | | | | | | | | | | For reasons that are still unclear (speculation included in the comment added in this patch), the tiler? metadata has a fast path that we were not enabling; there looks to be a possible time/memory tradeoff, but the details remain unclear. Regardless, this patch improves performance dramatically. Particular wins are for geometry-heavy scenes. For instance, glmark2-es2's Phong-shaded bunny, rendering at fullscreen (2400x1600) via GBM, jumped from ~20fps to hitting vsync cap at 60fps. Gains are even more obvious when vsync is disabled, as in glmark2-es2-wayland. With this patch, on GLES 2.0 samples not involving FBOs, it appears performance is converging with (and sometimes surpassing) the blob. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* meson: ensure that xmlpool_options.h is generated for gallium targets that ↵David Shao2019-02-245-5/+5
| | | | | | | | | | | need it Fixes: 68076b87474e7959c161 "meson: build gallium vdpau state tracker" Fixes: 22a817af8a89eb3c762f "meson: build gallium xvmc state tracker" Fixes: 5a785d51a6d68ec676ce "meson: build gallium va state tracker" Fixes: 0ba909f0f111824223bc "meson: build gallium xa state tracker" Fixes: 1d36dc674d528b93bec3 "meson: build gallium omx state tracker" Reviewed-by: Eric Engestrom <[email protected]>
* etnaviv: blt: mark used src resource as read fromChristian Gmeiner2019-02-231-0/+2
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Lucas Stach <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
* etnaviv: rs: mark used src resource as read fromChristian Gmeiner2019-02-231-0/+1
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Lucas Stach <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
* gallium/auxiliary/vl: Fix duplicate symbol build errors.Vinson Lee2019-02-222-6/+6
| | | | | | | | | | | | | | | | | | CXXLD gallium_dri.la duplicate symbol _compute_shader_video_buffer in: ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor.o) ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor_cs.o) duplicate symbol _compute_shader_weave in: ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor.o) ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor_cs.o) duplicate symbol _compute_shader_rgba in: ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor.o) ../../../../src/gallium/auxiliary/.libs/libgalliumvl.a(libgalliumvl_la-vl_compositor_cs.o) Fixes: 9364d66cb7f7 ("gallium/auxiliary/vl: Add video compositor compute shader render") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: James Zhu <[email protected]>
* swr/rast: bypass size limit for non-sampled texturesAlok Hota2019-02-221-1/+3
| | | | | | | | | This fixes a bug where SWR will fail to render in cases with large buffer allocations, e.g. very large meshes whose vertex buffers exceed 2GB CC: <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
* tgsi: don't set tgsi_info::uses_bindless_images for constbufs and hw atomicsMarek Olšák2019-02-221-1/+3
| | | | | | | | This might have decreased performance for radeonsi/tgsi, because most most shaders claimed they used bindless. Cc: 18.3 19.0 <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* freedreno/a6xx: cube image fixRob Clark2019-02-221-0/+4
| | | | | | | | | | | Note that emit_intrinsic_load_image() already swaps a .3d flag with an .a flag. I tried doing things the other way around (going back to .3d) but that didn't work. And treating cube images as 2d array is also what blob does, so let's just go with that. Fixes dEQP-GLES31.functional.image_load_store.cube.load_store.* Signed-off-by: Rob Clark <[email protected]>
* freedreno/a6xx: fix border-color offsetRob Clark2019-02-221-1/+1
| | | | | | | Fixes nearly all of dEQP-GLES31.functional.texture.border_clamp.* when run after a test that binds textures used in vertex shader. Signed-off-by: Rob Clark <[email protected]>
* freedreno: fix race conditionRob Clark2019-02-223-5/+16
| | | | | | | rsc->write_batch can be cleared behind our back, so we need to acquire the lock *before* deref'ing. Signed-off-by: Rob Clark <[email protected]>
* nv50: disable computeIlia Mirkin2019-02-221-1/+1
| | | | | | | | | | It causes more trouble than it's worth. Now vl tries to create compute shaders without all the proper checking. Since there's really no (current) way to use compute on nv50, just mark it disabled. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109742 Fixes: f6ac0b5d71 ("gallium/auxiliary/vl: Add compute shader to support video compositor render") Signed-off-by: Ilia Mirkin <[email protected]>
* virgl: Enable mixed color FBO attachemnets only when the host supportsGert Wollny2019-02-222-1/+2
| | | | | | | it Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Elie Tournier <[email protected]>
* Revert "iris: Enable auxiliary buffer support"Kenneth Graunke2019-02-211-0/+3
| | | | | | This reverts commit cd0ced49e7957182d23e21657445b720184ea425. It breaks glxgears rendering.
* iris: Enable -msse2 and -mstackrealignKenneth Graunke2019-02-211-3/+3
| | | | | | | This is needed for gen_clflush.h intrinsics to work on 32-bit builds. i965 and anv both set these, and iris needs to as well. Tested-by: Mark Janes <[email protected]>
* iris: Enable auxiliary buffer supportKenneth Graunke2019-02-211-3/+0
| | | | | | This currently regresses KHR-GL4x.compute_shader.resource-texture, but that's a pre-existing bug (https://bugs.freedesktop.org/109113) which should be fixed up once we have fast clear support.
* iris: Flag ALL_DIRTY_BINDINGS on aux state change.Rafael Antognolli2019-02-213-21/+29
| | | | | | If we change the aux state for a given resource, we need to re-emit the binding table pointers for any stage that has such resource bound. Since we don't track that, flag IRIS_ALL_DIRTY_BINDINGS and emit all of them.
* iris: Skip resolve if there's no context.Rafael Antognolli2019-02-211-1/+9
| | | | | | If iris_resource_get_handle() gets called without a context, we can't resolve the resource. Hopefully it shouldn't be compressed anyway, so let's just add an assert to ensure it's correct.
* iris/clear: Pass on render_condition_enabled.Rafael Antognolli2019-02-211-2/+4
|
* iris: Avoid leaking if we fail to allocate the aux buffer.Rafael Antognolli2019-02-211-2/+6
| | | | Otherwise we could leak the aux state map or the aux BO.
* iris: Only resolve compute resources for compute shadersKenneth Graunke2019-02-211-4/+3
|
* iris: Fix aux usage in render resolve codeKenneth Graunke2019-02-211-1/+1
|
* iris: Pin HiZ buffers when rendering.Rafael Antognolli2019-02-211-0/+8
|