summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-09-13ddebug: write out final driver log messages with GALLIUM_DDEBUG=alwaysNicolai Hähnle3-2/+15
If the last operation happens to be a non-draw, such as a transfer_map that triggers a decompress blit, there may be interesting messages left in the driver log. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-09-13swr/rast: Fetch compile state changesTim Rowley3-6/+15
Add InstanceStrideEnable field and rename InstanceDataStepRate to InstanceAdvancementState in INPUT_ELEMENT_DESC structure. Add stubs for handling InstanceStrideEnable in FetchJit::JitLoadVertices() and FetchJit::JitGatherVertices() and assert if they are triggered. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: adjust linux cpu topology identification codeTim Rowley1-43/+38
Make more robust to handle strange strange configurations like a vmware exported 4-way numa X 1-core configuration. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Missed conversion to SIMD_TTim Rowley1-1/+1
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: whitespace changesTim Rowley1-0/+2
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: add graph write to jit debug putputTim Rowley1-3/+3
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Migrate memory pointers to gfxptr_t typeTim Rowley9-36/+36
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Remove hardcoded clip/cull slot from clipperTim Rowley1-14/+21
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Start to remove hardcoded clipcull_dist vertex attrib slotTim Rowley3-8/+15
Add new field in SWR_BACKEND_STATE::vertexClipCullOffset to specify the start of the clip/cull section of the vertex header. Removed use of hardcoded slot from binner. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Move clip/cull enables in APITim Rowley9-40/+40
Moved from from SWR_RASTSTATE to SWR_BACKEND_STATE. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13swr/rast: Add new API SwrStallBETim Rowley2-0/+17
SwrStallBE stalls the backend threads until all work submitted before the stall has finished. The frontend threads can continue to make forward progress. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-09-13glsl: compile unused function outEric Engestrom1-0/+2
The function is only called from one place, which is hidden behind the same `#ifdef DEBUG`. Fixes: ca73c3358c91434e68ab "glsl: Mark functions static" Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2017-09-13radv: compile out unused codeEric Engestrom1-0/+2
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-09-13radv: clear push_constant_stages when resetting a command bufferSamuel Pitoiset1-0/+1
Per the spec: "Resetting a command buffer is an operation that discards any previously recorded commands and puts a command buffer in the initial state." As far I'm concerned, that flag can be changed by calling VkCmdPushConstants() (or any other functions which update it), so it should be cleared as well. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2017-09-13radv: add more radv_emit_XXX() helpers for the dynamic stateSamuel Pitoiset1-40/+77
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2017-09-13radv: remove useless 'cmd_buffer' param from radv_buffer_view_init()Samuel Pitoiset4-7/+5
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2017-09-13radv/gfx9: fix image resource handling.Dave Airlie1-8/+19
GFX9 changes how images are layed out, so this needs updating. Fixes: dEQP-VK.query_pool.statistics_query.* Cc: "17.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-13radv/ac: bump params array for image atomic comp swapDave Airlie1-1/+1
For the comp_swap case this was overflowing and crashing sometimes. Fixes: dEQP-VK.image.atomic_operations.compare_exchange.* Cc: "17.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-13radv/gfx9: set mip0-depth correctly for 2d arrays/3d imagesDave Airlie1-2/+2
This field covers the whole resource. Fixes: dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.3d.format.* dEQP-VK.texture.filtering.3d.combinations.* Cc: "17.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-13radv: handle GFX9 1D texturesDave Airlie2-14/+76
As GFX9 can't handle 1D depth textures, radeonsi and apparantly pro just update all 1D textures to 2D, and work around it. This ports the workarounds from radeonsi. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-13radv: don't use iview for meta image width/height.Dave Airlie2-13/+21
Work out the width/height from the level manually, as on GFX9 we won't minify the iview width/height. This fixes: dEQP-VK.api.image_clearing.core.clear_color_image* on gfx9 Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-12intel/eu/validate: Look up types on demand in execution_type()Jason Ekstrand1-4/+2
We are looking up the execution type prior to checking how many sources we have. This leads to looking for a type for src1 on MOV instructions which is bogus. On BDW+, the src1 register type overlaps with the 64-bit immediate and causes us problems. Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: mesa-stable@lists.freedesktop.org
2017-09-12Revert "winsys/amdgpu: disable local BOs on Raven"Marek Olšák1-2/+1
This reverts commit 1cda9a2fee05effd9c64bd773bc6005281593662. It works now.
2017-09-12radv: Don't allocate CMASK for linear images.Bas Nieuwenhuizen1-1/+3
We can't use it anyway in fast clears, and on GFX9 it seems to actually hange the card if we specify it. Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
2017-09-12radv: Disable multilayer & multilevel DCC.Bas Nieuwenhuizen1-0/+1
The current DCC init routine doesn't account for initializing a single layer or level. Multilayer seems hard for small textures on pre-GFX9 as tre metadata for the layers can be interleaved. For GFX9 multilevel textures are a problem for similar reasons. So just disable this for now, until we handle the texture modes correctly. Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
2017-09-12util/disk_cache: turn MESA_GLSL_CACHE_DISABLE into a booleanEric Engestrom2-3/+4
Instead of setting based on set/unset, allow users to use boolean values. In the docs and tests, use `DISABLE=true` instead of `DISABLE=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_NO_DRAWARRAYS into a booleanEric Engestrom1-1/+5
Instead of setting based on set/unset, allow users to use boolean values. In the docs, use `NO_DRAWARRAYS=true` instead of `NO_DRAWARRAYS=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_PROFILE_CORE into a booleanEric Engestrom1-1/+1
Instead of setting based on set/unset, allow users to use boolean values. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_DUMP_VISUALID into a booleanEric Engestrom1-1/+1
Instead of setting based on set/unset, allow users to use boolean values. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12egl+glx: turn LIBGL_DRI3_DISABLE into a booleanEric Engestrom2-2/+2
Instead of setting based on set/unset, allow users to use boolean values. In the docs, use `DISABLE=true` instead of `DISABLE=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_ALWAYS_INDIRECT into a booleanEric Engestrom1-1/+1
Instead of setting based on set/unset, allow users to use boolean values. In the docs, use `ALWAYS=true` instead of `ALWAYS=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_ALLOW_SOFTWARE into a booleanEric Engestrom1-2/+2
Instead of setting based on set/unset, allow users to use boolean values. In the help string, use `ALLOW=true` instead of `ALLOW=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12egl+glx: turn LIBGL_ALWAYS_SOFTWARE into a booleanEric Engestrom7-5/+10
Instead of setting based on set/unset, allow users to use boolean values. In the docs, use `ALWAYS=true` instead of `ALWAYS=1` as it's clearer IMO. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12glx: turn LIBGL_DIAGNOSTIC into a booleanEric Engestrom6-5/+16
Instead of setting based on set/unset, allow users to use boolean values. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12gbm: turn GBM_ALWAYS_SOFTWARE into a booleanEric Engestrom3-3/+9
Instead of setting based on set/unset, allow users to use boolean values. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-09-12anv: fix build issues on release buildTapani Pälli1-1/+1
Fixes: d083bc1c4b ("anv: wire up vk_errorf macro to do debug reporting") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
2017-09-12glsl: Disallow unsized array of atomic_uintIago Toral Quiroga1-0/+11
This was a bugfix to the spec addressed in OpenGL 4.5 (revision 7 of the spec) and there is a CTS test to check this. Fixes: KHR-GL45.shader_atomic_counters.negative-unsized-array Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2017-09-12anv: remove extra 'debug:' from anv_debug_ignored_stypeTapani Pälli1-1/+1
anv_debug adds 'debug:' already, this is to clean following: debug: debug: anv_CreateDebugReportCallbackEXT: ignored VkStructureType 1000011000 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-12anv: move brw_process_intel_debug_variable to happen earlyTapani Pälli1-2/+2
Currently anv_perf_warn call in anv_compute_heap_size does not ever report a perf warning. Move debug variable read as the first thing in case there will be other perf_warn calls added. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-12anv: wire up vk_errorf macro to do debug reportingTapani Pälli9-33/+74
Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-12anv: wire up anv_perf_warn macro to do debug reportingTapani Pälli5-16/+141
Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-12anv: implementation of VK_EXT_debug_report extensionTapani Pälli5-0/+180
Patch adds required functionality for extension to manage a list of application provided callbacks and handle debug reporting from driver and application side. v2: remove useless helper anv_debug_report_call add locking around callbacks list use vk_alloc2, vk_free2 refactor CreateDebugReportCallbackEXT fix bugs found with crucible testing v3: provide ANV_FROM_HANDLE and use it misc fixes for issues Jason found use vk_find_struct_const for finding ctor_cb Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-12i965: do not fallback to linear tiling for stencil surfacesIago Toral Quiroga1-4/+7
We were skipping this fallback for depth, but not for stencil which the hardware always requires to be W-tiled. Also, make the checks for whether we need to apply retiling strategies based on usage instead of tiling flags, which is safer and more explicit. This fixes a regression in a CTS test introduced with commit 4ea63fab77f0 that started applying re-tiling stencil surfaces in certain scenarios. v2: discard retiling based on usage fields instead of tiling flags. This is safer and more explicit. v3: Add a comment indicating that texturing of stencil in gen7 requires an Y-tiled copy (Topi). Fixes: KHR-GL45.direct_state_access.renderbuffers_storage Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2017-09-12nir/spirv: handle if's with same label in both branchesJuan A. Suarez Romero1-2/+10
When a conditional branch has the same labels in the "if" part and in the "else" part, then we have the same cfg block, and it must be handled once. v2: handle it the same way as OpBranch (Jason). Fixes: dEQP-VK.spirv_assembly.instruction.compute.conditional_branch.same_labels* dEQP-VK.spirv_assembly.instruction.graphics.conditional_branch.same_labels* Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-09-11mesa/st: Include builddir/src/compiler/glsl to fix make checkAaron Watry1-0/+1
Otherwise, when doing an out-of-tree build you can expect the following: make[6]: Entering directory \ '${MESA_SRC}/build/src/mesa/state_tracker/tests' CXX test_glsl_to_tgsi_lifetime.o In file included from \ ${MESA_SRC}/src/mesa/src/mesa/state_tracker/st_glsl_to_tgsi_private.h:31:0, from \ ${MESA_SRC}/src/mesa/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h:27, from \ ${MESA_SRC}/src/mesa/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp:24: ${MESA_SRC}/src/compiler/glsl/ir.h:1502:37: \ fatal error: ir_expression_operation.h: No such file or directory #include "ir_expression_operation.h" Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Gert Wollny <gw.fossdev@gmail.com>
2017-09-11radv: work out a base ia_multi_vgt_param.Dave Airlie3-10/+13
This just reduces the calculations a bit further. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-11radv: calculate non-draw related ia_multi_vgt_param bits in pipelineDave Airlie3-60/+76
This moves a bunch of non-draw dependent calcs into the pipeline code, to reduce CPU overheads in the draw path. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-11radv: move calculating primgroup_size to pipeline.Dave Airlie3-9/+11
This moves this out of the draw paths. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-11radv: only calculate num_prims when required.Dave Airlie1-4/+10
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-09-11radv: use upload_data to upload push descriptors.Dave Airlie1-6/+3
This is just a reusing code. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>