- 29 Dec, 2020 1 commit
-
-
Serge Martin authored
"The implementation is based on what LLVM AMD target expect. The compiler provided an id link to argument desc and format used. The runtime need to store them to be able to parse the buffer filled by the device during the kernel execution, ie, an id value to find the format and followed by the arguments values" v2: airlied Split out the llvm backend code, parse the llvm fmt strings in the backend into the generic string format, set the llvm buffer format required flag. v3: change formatter call site
-
- 28 Dec, 2020 19 commits
-
-
Jesse Natalie authored
Rewrites the original lowering pass to use the one shared with Clover, instead only handling the new load_printf_buffer_address intrinsic. Exports the new metadata to the runtime containing strings and arg sizes. Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8254>
-
Dave Airlie authored
This connects printf up for NIR drivers, it lowers using the NIR pass where it places the idx to the strings into the output buffer. It also sets the global buffer header to the nir paths. v2: remove dead function temps after lowering v3: move to single string Acked-by:
Jesse Natalie <jenatali@microsoft.com> Part-of: <mesa/mesa!8254>
-
Jesse Natalie authored
As part of this series, it removes the need for float->double conversion, just to be able to print a single float. Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!8254>
-
Jesse Natalie authored
This pass creates a SSBO var for the printf buffer. It does an atomic increment at the beginning of the buffer to determine where to write, then dumps the args after that. v2: [airlied] Enhanced to use an index into a set of format info that is passed back to the caller. The format info contains the number of args, argument sizes and the format string. v3: move format string lowering to vtn v4: Jason reworked it. v5: assume buffer has initial offset prebaked in and work from there. Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!8254>
-
Jesse Natalie authored
[airlied: rebase fixup types] v2: add support for storing strings in a sideband storage, just store the index in print buffer. v3: move the format strings into the nir shader as well v4: simplify the write constant string + explicit sizes move printf cap definition. v5: just parse the format string to find string specifiers using util code. add vtn_fail_if if we can't get the correct type. v6: use ralloc + avoid instr handler for srcs > 5 v7: use a packed struct 4 bytes align all of it v8: simplify constant copy v9: rework to use a single string and common string extract code, (Jason) Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!8254>
-
Jesse Natalie authored
This just adds the basic nir support for printf, intrinsic, and support for storing the printf info. Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!8254>
-
Serge Martin authored
"The implementation is based on what LLVM AMD target expect. The compiler provided an id link to argument desc and format used. The runtime need to store them to be able to parse the buffer filled by the device during the kernel execution, ie, an id value to find the format and followed by the arguments values" v2: airlied Split out the core code to a separate patch, add support for the different global buffer formats, and move the LLVM specific code as much as possible to the backend. v3: handle strings differences better llvm backend stores strings to the printf buffer nir backend stores them to a sideband storage in NIR and stores an index in the buffer. v4: move specifier parsing to util code. v5: rename buffer fmt + make printf code work v6: handle args/specifier number mismatch support v7: move to single string + struct v8: use "%s" to print strings to avoid bad specifier, fix str calcs. v9: move to the same global buffer format as llvm, just strings are different now. This requires changes to nir lowering. buffer format: [0] contains offset into buffer at start contains 8 [1] contains length of buffer v10: printf const clean, add warning, endian assert, print %% at end, fix specifiers to vector v11: minor cleanups, make sure the format string never contains an n. v12: validate format string Reviewed-by:
Francisco Jerez <currojerez@riseup.net> Part-of: <mesa/mesa!8254>
-
Dave Airlie authored
This adds storage for printf formats encoded as number of argument sizes + the printf format string, and storage for sideband printf strings if the backend wants them. It adds a flag that decides if the backend wants AMD (LLVM) behaviour or NIR wrt the format of the global buffer and how to decode strings. Based on work by EdB in his printf support, but made useful to be generic. I'm not a huge fan of the buffer format flag, but this was the easiest way to denote the llvm abi buffer format. v3: rename buffer fmt v4: use a single strings storage and one struct v5: move printf_info into module, cleanup serialisation struct Reviewed-by:
Francisco Jerez <currojerez@riseup.net> Part-of: <mesa/mesa!8254>
-
Dave Airlie authored
clover needs to walk valid specifiers in C++, vtn needs to find string specifiers in C, let's do both. This writes the format walker in C++, and wraps it with C. Acked-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Francisco Jerez <currojerez@riseup.net> Reviewed-by:
Jesse Natalie <jenatali@microsoft.com> Part-of: <mesa/mesa!8254>
-
Icecream95 authored
Set zs_update_operation to FORCE_LATE, as we don't want to update depth if the fragment is discarded. Set pixel_kill_operation to WEAK_EARLY to match the blob. Reviewed-and-tested-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8235>
-
He Haocheng authored
Reviewed-By:
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!8240>
-
Mike Blumenkrantz authored
this was broken during the transition to generated code Fixes: fe669ff4 ("zink: replace old code with generated zink_instance") Reviewed-by:
Hoe Hao Cheng <haochengho12907@gmail.com> Part-of: <mesa/mesa!8250>
-
Danylo Piliaiev authored
gl_SecondaryFragColorEXT is mapped to FRAG_RESULT_COLOR and just have a different io.dual_source_blend_index. We don't need to replicate the color to other render targets in case of dual source blending, so we could just remap it to FRAG_RESULT_DATA0 + index. Fixes piglit test: arb_blend_func_extended-fbo-extended-blend-pattern_gles2 Signed-off-by:
Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <mesa/mesa!8245>
-
Emma Anholt authored
When set, we want to summary-limit 0, but the meaning was inverted. Sigh, coding in bash. Fixes: bf29daa1 ("ci/deqp: Switch to a new dEQP runner written in Rust.") Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8164>
-
maurossi authored
Porting of commits 25c99468 and f9084b6c to Android makefile Fixes the following building error: In file included from external/mesa/src/panfrost/bifrost/bifrost_compile.c:36: external/mesa/src/panfrost/bifrost/compiler.h:31:10: fatal error: 'bi_opcodes.h' file not found ^~~~~~~~~~~~~~ 1 error generated. Fixes: 25c99468 ("pan/bi: Generate bi_opcodes.c") Fixes: f9084b6c ("pan/bi: Generate bi_opcodes.h") Signed-off-by:
Mauro Rossi <issor.oruam@gmail.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8239>
-
maurossi authored
Porting of commit 4d76a3d4 to Android makefile Fixes: 4d76a3d4 ("pan/bi: Add explicit meson dependency on the ISA helpers") Signed-off-by:
Mauro Rossi <issor.oruam@gmail.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8239>
-
Gert Wollny authored
The latter is the only child class of the former and no other use for SpecialValue is needed. Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8210>
-
cheyang authored
reduce search time(E.g glGetUniformLocation) when use glProgramBinary Signed-off-by:
cheyang <cheyang@bytedance.com> Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> Part-of: <mesa/mesa!8238>
-
cheyang authored
virgl_object_assign_handle will be called by multiple threads, if you do not use atomic operations, there may be duplicate handle. Signed-off-by:
cheyang <cheyang@bytedance.com> Reviewed-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8078>
-
- 27 Dec, 2020 4 commits
-
-
Emma Anholt authored
The cf list will always be non-empty, with at least a block in it. Noticed while checking codegen of a piglit test that was really slow on softpipe. Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8068>
-
Emma Anholt authored
It's been regressed a couple of times recently, so let's try to make sure it doesn't happen again. The setup here is mostly like llvmpipe-quick-gl, but using quick_gl+quick_shader together, and a few more spectacularly long-running tests dropped. I also excluded a bunch of unsupported extensions, to minimize the size of the skip list checked into the tree (it's still 200k, though). The unfortunate exclusions in here are fp64 and int64 -- most of the piglit tests for them don't run because softpipe is still GL3.3, and it's an egregious number of skips to add to the checked in list. Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8068>
-
Emma Anholt authored
If you're standing up a new piglit CI, you're going to want it. Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8068>
-
Emma Anholt authored
This bumps the compat profile supported from 3.1 to 3.3, matching our GL core profile. Motivated by getting the piglit skip list cut down. Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8068>
-
- 24 Dec, 2020 14 commits
-
-
Vinson Lee authored
index is of type uint32_t. Fix defect reported by Coverity Scan. Macro compares unsigned to 0 (NO_EFFECT) unsigned_compare: This greater-than-or-equal-to-zero comparison of an unsigned value is always true. index >= 0U. Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Part-of: <mesa/mesa!8231>
-
Vinson Lee authored
Fix defect reported by Coverity Scan. Uninitialized scalar field (UNINIT_CTOR) uninit_member: Non-static class member m_SupportsSimultaneousAccess is not initialized in this constructor nor in any functions that it calls. Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8192>
-
Vinson Lee authored
Fix defect reported by Coverity Scan. Resource leak (RESOURCE_LEAK) leaked_storage: Variable ss going out of scope leaks the storage it points to. Fixes: 2ea15cd6 ("d3d12: introduce d3d12 gallium driver") Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Jesse Natalie <jenatali@microsoft.com> Part-of: <mesa/mesa!8179>
-
Vinson Lee authored
Fix defect reported by Coverity Scan. Uninitialized pointer field (UNINIT_CTOR) uninit_member: Non-static class member dup is not initialized in this constructor nor in any functions that it calls. Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8168>
-
Mike Blumenkrantz authored
xxhash can return 0 as a valid hash so it needs to be handled Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8201>
-
Mike Blumenkrantz authored
for drivers that don't support robustness features (nullDescriptor) we can just jam in the dummy buffer here and yolo Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8202>
-
Samuel Pitoiset authored
This is actually wrong because we still assume 64-bit in a bunch of places. This reverts commit b24b3026 . Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8214>
-
Vinson Lee authored
Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <mesa/mesa!8171>
-
Mike Blumenkrantz authored
this was moved to a different struct without being updated Fixes: fe669ff4 ("zink: replace old code with generated zink_instance") Reviewed-by:
Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!8220>
-
Emma Anholt authored
This gets you nice output in gdb when trying to figure out why your 2D sample shader is hitting the cube paths. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8118>
-
Emma Anholt authored
Compiling NIR is much less code, gives us optimization across drivers, and is one less chunk of TGSI in the mesa frontend. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8118>
-
Emma Anholt authored
Just put it into the op in core Mesa and explain what it's doing. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8118>
-
Emma Anholt authored
I'll be using this switch statement and extending it for ATI_fragment_shader. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8118>
-
Emma Anholt authored
We may have to make a new ATI_fs variant when the texture target changes. Fixes a regression on piglit ati_fragment_shader-render-textargets on llvmpipe after the switch to NIR ATI_fragment_shader. Cc: mesa-stable Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8118>
-
- 23 Dec, 2020 2 commits
-
-
hevc main10 profile error fix CC: mesa-stable Signed-off-by:
Ruijing Dong <Ruijing.Dong@amd.com> Reviewed-by:
Leo Liu <leo.liu@amd.com> Part-of: <mesa/mesa!8038>
-
Dave Airlie authored
This just add the basic for vulkan device group support, base dispatch, and dummy funcs Reviewed-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> Reviweed-by:
Eric Anholt <eric@anholt.net> Part-of: <mesa/mesa!8154>
-