- 13 Nov, 2018 28 commits
-
-
Eric Engestrom authored
Fixes: d1992255 "meson: Add build Intel "anv" vulkan driver" Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
Eric Engestrom authored
These files are close to 4 years out of date; a lot's changed since. Let's just check in a recently-regenerated version. Changes generated by running `ninja xmlpool-{pot,update-po,gmo}`. Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Dylan Baker <dylan@pnwbakers.com> Acked-by:
Emil Velikov <emil.velikov@collabora.com>
-
Eric Engestrom authored
Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Acked-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
Eric Engestrom authored
Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Acked-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
Eric Engestrom authored
Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Acked-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. v4: Added missing engine definition to MI_TOPOLOGY_FILTER. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. v4: Added missing engine definition to MI_TOPOLOGY_FILTER. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. v4: Added more missing engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. v4: Added missing engine tag for MI_TOPOLOGY_FILTER and MI_LOAD_URB_MEM. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions v4: Added missing engine to MEDIA_GATEWAY_STATE Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added addition engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Instructions meant for the render engine now have a definition specifying that so that can differentiate instructions meant for different engines due to shared opcodes. v2: Divided into individual patches for each gen v3: Added additional engine definitions. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
The engine to which the batch was sent to is now set to the decoder context when decoding the batch. This is needed so that we can distinguish between instructions as the render and video pipe share some of the instruction opcodes. v2: The engine is now in the decoder context and the batch decoder uses a local function for finding the instruction for an engine. v3: Spec uses engine_mask now instead of engine, replaced engine class enums with the definitions from UAPI. v4: Fix up aubinator_viewer (Lionel) Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Removed the gen_engine enum and changed the involved functions to use the drm_i915_gem_engine_class enum from UAPI instead. v3: Wrong engine was being used for blocks in video ring v4: Fixed aubinator_viewer.cpp Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Toni Lönnberg authored
Preliminary work for adding handling of different pipes to gen_decoder. Each instruction needs to have a definition describing which engine it is meant for. If left undefined, by default, the instruction is defined for all engines. v2: Changed to use the engine class definitions from UAPI v3: Changed I915_ENGINE_CLASS_TO_MASK to use BITSET_BIT, change engine to engine_mask, added check for incorrect engine and added the possibility to define an instruction to multiple engines using the "|" as a delimiter in the engine attribute. v4: Fixed the memory leak. v5: Removed an unnecessary ralloc_free(). Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Gert Wollny authored
On the host VREND_DEBUG=guestallow must be set to let the guest override the debug flags. v2: Send flag string instead of flags, this avoids the need to keep the flags in sync. v3: Only request host logging if the host actually understands the command Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com>
-
Gert Wollny authored
Transform feedback objects may hold a pointer to a shader program, and at least in Gallium, this must be a valid pointer until ctx->Driver.EndTransformFeedback in glEndTransformFeedback has been called - which is conform with the spec that any program that is part of a current rendering state should only be flagged for deletion by glDeleteProgram. This was not handled properly for the transform feedback objects so that a call sequence glUseProgram(x) glBeginTransformFreedback(...) glPauseTransformFeedback(...) glDeleteProgram(x) glEndTransformFeedback(...) would result in a use after free bug. With this patch the transform feedback object also updates the reference count to the used program thereby keeping the program valid as long as the transform feedback objects links to it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108713 Fixes: 65458769 mesa: add end_transform_feedback() helper Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com>
-
Samuel Pitoiset authored
Ported from RadeonSI. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
Cc: 18.3 <mesa-stable@lists.freedesktop.org> Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Plamena Manolova authored
If the local work group size is variable it won't be available at compile time so we can't lower it in nir_lower_system_values(). Signed-off-by:
Plamena Manolova <plamena.n.manolova@gmail.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Karol Herbst <kherbst@redhat.com>
-
Matt Turner authored
Prior to this patch sizeof(linear_header) was 20 bytes in a non-debug build on 32-bit platforms. We do some pointer arithmetic to calculate the next available location with ptr = (linear_size_chunk *)((char *)&latest[1] + latest->offset); in linear_alloc_child(). The &latest[1] adds 20 bytes, so an allocation would only be 4-byte aligned. On 32-bit SPARC a 'sttw' instruction (which stores a consecutive pair of 4-byte registers to memory) requires an 8-byte aligned address. Such an instruction is used to store to an 8-byte integer type, like intmax_t which is used in glcpp's expression_value_t struct. As a result of the 4-byte alignment returned by linear_alloc_child() we would generate a SIGBUS (unaligned exception) on SPARC. According to the GNU libc manual malloc() always returns memory that has at least an alignment of 8-bytes [1]. I think our allocator should do the same. So, simple fix with two parts: (1) Increase SUBALLOC_ALIGNMENT to 8 unconditionally. (2) Mark linear_header with an aligned attribute, which will cause its sizeof to be rounded up to that alignment. (We already do this for ralloc_header) With this done, all Mesa's unit tests now pass on SPARC. [1] https://www.gnu.org/software/libc/manual/html_node/Aligned-Memory-Blocks.html Fixes: 47e17586 ("glcpp: use the linear allocator for most objects") Bug: https://bugs.gentoo.org/636326Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Matt Turner authored
The debug code is all asserts, so protect it with the same thing that controls assert. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Timothy Arceri authored
For example the following type of thing is seen in TCS from a number of Vulkan and DXVK games: vec1 32 ssa_557 = deref_var &oPatch (shader_out float) vec1 32 ssa_558 = intrinsic load_deref (ssa_557) () vec1 32 ssa_559 = deref_var &oPatch@42 (shader_out float) vec1 32 ssa_560 = intrinsic load_deref (ssa_559) () vec1 32 ssa_561 = deref_var &oPatch@43 (shader_out float) vec1 32 ssa_562 = intrinsic load_deref (ssa_561) () intrinsic store_deref (ssa_557, ssa_558) (1) /* wrmask=x */ intrinsic store_deref (ssa_559, ssa_560) (1) /* wrmask=x */ intrinsic store_deref (ssa_561, ssa_562) (1) /* wrmask=x */ No shader-db changes on i965 (SKL). vkpipeline-db results RADV (VEGA): Totals from affected shaders: SGPRS: 7832 -> 7728 (-1.33 %) VGPRS: 6476 -> 6740 (4.08 %) Spilled SGPRs: 0 -> 0 (0.00 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 469572 -> 456596 (-2.76 %) bytes LDS: 0 -> 0 (0.00 %) blocks Max Waves: 989 -> 960 (-2.93 %) Wait states: 0 -> 0 (0.00 %) The Max Waves and VGPRS changes here are misleading. What is happening is a bunch of TCS outputs are being optimised away as they are now recognised as unused. This results in more varyings being compacted via nir_compact_varyings() which can result in more register pressure when they are not packed in an optimal way. This is an existing problem independent of this patch. I've run some benchmarks and haven't noticed any performance regressions in affected games. Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Timothy Arceri authored
shader-db results for SLK: total instructions in shared programs: 13106498 -> 13091573 (-0.11%) instructions in affected programs: 1186244 -> 1171319 (-1.26%) helped: 6186 HURT: 0 total cycles in shared programs: 332062633 -> 331961653 (-0.03%) cycles in affected programs: 8537165 -> 8436185 (-1.18%) helped: 5371 HURT: 862 LOST: 6 GAINED: 14 Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
- 12 Nov, 2018 12 commits
-
-
Eric Anholt authored
Previously the debug would be: libEGL debug: No DRI config supports native format 0x20203852 libEGL debug: No DRI config supports native format 0x38385247 but libEGL debug: No DRI config supports native format R8 libEGL debug: No DRI config supports native format GR88 is a lot easier to understand. Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Eric Anholt authored
This requires that the caller make a little (stack) allocation to store the string. v2: Use gbm_format_canonicalize (suggested by Daniel) Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Eric Anholt authored
I want it for the format name debugging code. Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Dylan Baker authored
There are two problems: 1) the extra underscore in MISSING_64BIT_ATOMICS 2) we should link with libatomic if the previous test decided we needed it Fixes: d1992255 ("meson: Add build Intel "anv" vulkan driver") Reviewed-and-Tested-by:
Matt Turner <mattst88@gmail.com>
-
Marek Olšák authored
Fixes: dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.sr8_ext Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu>
-
Marek Olšák authored
This implementation can have massive drawbacks. Cc: 18.3 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Edmondo Tommasina <edmondo.tommasina@gmail.com>
-
Christian Gmeiner authored
Signed-off-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Alyssa Rosenzweig authored
regs is only set and used on x86; on other platforms (like ARM), this code causes a trivial warning, solved by moving the regs declaration to the architecture-dependent usage. Reviewed-by:
Matt Turner <mattst88@gmail.com> Signed-off-by:
Alyssa Rosenzweig <alyssa@rosenzweig.io>
-
Dylan Baker authored
meson does this for you with its warn levels, so we don't need to set it ourselves. Fixes: d1992255 ("meson: Add build Intel "anv" vulkan driver") Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-
Rob Clark authored
Looks like importing libdrm_freedreno into mesa crossed paths with e27902a2. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Lionel Landwerlin authored
Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-
Lionel Landwerlin authored
v2: Add a AYUV entry android in the android backend (Tapani) Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-