summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* meson/swr: replace hard-coded path with current_build_dir()Eric Engestrom2019-02-271-1/+1
| | | | | | | Fixes: 93cd9905c8fbb98985ae "swr/rast: Cleanup and generalize gen_archrast" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Alok Hota <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* virgl/vtest: deprecate protocol version 1Gurchetan Singh2019-02-274-43/+23
| | | | | | | | | | | | | | | | | This is a partial revert of 9d81cd ("virgl: Pass resource size and transfer offsets"). The adjustments made in the client code means there's various mismatches when transfering data. Let's fallback to protocol version 0 and deprecate protocol version 1. We can still use the protocol version 1 slots for a shared memory transfer mechanism later. Fixes: dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.*_renderbuffer Reviewed-By: Gert Wollny <[email protected]>
* iris: add libmesa_iris_gen8 library to the buildTapani Pälli2019-02-271-0/+21
| | | | | | | Patch fixes iris build on Android. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* android: make libbacktrace optional on USE_LIBBACKTRACETapani Pälli2019-02-272-3/+9
| | | | | | | | | | | | Otherwise with VNDK enabled we fail linking: src/gallium/targets/dri/Android.mk: error: gallium_dri (native:vendor) should not link to libbacktrace.vendor (native:vndk_private) Option makes it possible to use libbacktrace only when VNDK is not enabled. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* panfrost/midgard: Allow flt to run on most unitsAlyssa Rosenzweig2019-02-271-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Expose perf counters in environmentAlyssa Rosenzweig2019-02-273-13/+11
| | | | | | | Previously, we were guarded by an #ifdef, which is generally a bad form. This patch instead guards them behind an environmental variable. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Identify 4-bit channel texture formatsAlyssa Rosenzweig2019-02-273-0/+6
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add RGB565, RGB5A1 texture formatsAlyssa Rosenzweig2019-02-272-0/+4
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* iris: Enable ARB_shader_draw_parameters supportJose Maria Casanova Crespo2019-02-265-4/+212
| | | | | | | | | | | | | | | | | | Additional VERTEX_ELEMENT_STATE are used to store basevertex and baseinstance and drawid updating the DWordLength of the 3DSTATE_VERTEX_ELEMENTS command. This passes all piglit tests for spec.*draw_parameters.* tests and VK-GL-CTS KHR-GL45.shader_draw_parameters_tests.* tests. Now we only mark a dirty_update when parameters are changed or when we have an indirect draw. We enable PIPE_CAP_DRAW_PARAMETERS on Iris. There is no edge flag support in the Vertex Elements setup. Reviewed-by: Kenneth Graunke <[email protected]>
* clover: Fix indentation issuesPierre Moreau2019-02-262-34/+34
| | | | | Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Only use devices supporting IR_NATIVEPierre Moreau2019-02-261-1/+2
| | | | | | | | | | | Currently clover will advertise any device that advertises PIPE_CAP_COMPUTE, even if they do not support PIPE_SHADER_IR_NATIVE, which is the IR used internally by clover. This avoids clover advertising devices as available even though they actually are not supported. Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Move platform extensions definitions to clover/platform.cppPierre Moreau2019-02-263-2/+9
| | | | | Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Aaron Watry <[email protected]>
* clover: Move device extensions definitions to core/device.cppPierre Moreau2019-02-263-10/+16
| | | | | Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Aaron Watry <[email protected]>
* clover: Validate program and library linking optionsPierre Moreau2019-02-261-0/+35
| | | | | | | | Program linking options are only valid if the library was created with the `-enable-link-options` option, which itself is only valid when creating a library, and only when creating an executable. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Disallow creating libraries from other librariesPierre Moreau2019-02-261-3/+18
| | | | | | | | | If creating a library, do not allow non-compiled object in it, as executables are not allowed, and libraries would make it really hard to enforce the "-enable-link-options" flag. Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Aaron Watry <[email protected]>
* clover/api: Fail if trying to build a non-executable binaryPierre Moreau2019-02-261-0/+7
| | | | | | | | | | | From the OpenCL 1.2 Specification, Section 5.6.2 (about clBuildProgram): > If program is created with clCreateProgramWithBinary, then the > program binary must be an executable binary (not a compiled binary or > library). Reviewed-by: Aaron Watry <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover/api: Rework the validation of devices for buildingPierre Moreau2019-02-262-10/+11
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add an helper for checking if an IR is supportedPierre Moreau2019-02-262-0/+7
| | | | | | Reviewed-by: Aaron Watry <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Remove the TGSI backend as unusedPierre Moreau2019-02-267-196/+9
| | | | | Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Avoid warnings from new OpenCL headersPierre Moreau2019-02-264-0/+10
| | | | | | | | * Avoid warnings from references to deprecated CL 1.0, 1.2, 2.0 and 2.1 APIs. * Avoid warnings from not defining CL_TARGET_OPENCL_VERSION. Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* 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]>