- 03 Mar, 2022 40 commits
-
-
Alyssa Rosenzweig authored
Hack because this only works for colour preloads (no depth/stencil preloads, nor general blits) and because it'll break Bifrost pretty hard. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
With a Valhall driver stack written, all that's left is probing on the new hardware! Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Layout is changed since Bifrost, the information stored is basically the same. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Required for proper texturing. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Valhall-style IDVS uses a distinct job type which has to be handled separately. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
It's implicit. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
I don't know the encoding and right now don't care. Fixes dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_dynamic_read on Valhall. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Doesn't work yet. Kick the can down the road; I'd like to get textures and FBOs working at all before worrying about compressing them. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Replace LOAD.ubo with LD_BUFFER since the .ubo segment doesn't exist on Valhall. We could do this with a lowering pass instead but this is probably fine. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
It is unclear if FP32 point sizes are supported on Valhall -- I can't get the DDK to use them at any rate. Always lower them to FP16 and store them as FP16 for hardware use. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
-
Alyssa Rosenzweig authored
To match driver behaviour. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Is this right on bifrost..? Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
We need a slightly different idiom on Valhall, so let's first split the helpers for encapsulation. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
We use bi_dontcare() to specify any encoding where we don't care about the value, with a preference for power-efficient encodings. On Bifrost, a (possibly nonexistant) FAU read is the best encoding. On Valhall, that encoding doesn't exist so just use a zero. That should be good enough in practice. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Needed for good code gen of varying shaders with multiple varyings. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Needed to handle LEA_VARY which writes a register pair. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Varying stores was changed in Valhall. Rather than using attribute descriptors like on Bifrost and Midgard, on Valhall we store to memory directly with hardware-allocated buffers. This requires a new implementation of store_output, with special provisions for writing gl_PointSize from a position shader. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
There are 4 distinct cases of fsqrt: 1. FP16 on Bifrost Here we may use lower to `x * rsqrt(x)` with a .left modifier on the FMA_RSCALE.v2f16 used to carry out the multiplication, ensuring correct handling of NaN and Inf. 2. FP32 on G71 Missing FRSQ.f32 instruction, do something simple since we don't even probe the driver on G71... 3. FP32 on G72 and newer We can do the same lowering as FP16 in theory. However, this may have precision issues. The DDK uses extra FREXPM/FREXPE instructions in a .sqrt mode for a range reduction. It's unknown if this is necessary for OpenGL (ES), Vulkan, OpenCL, or some combination thereof. 4. FP16 on Valhall We want to use the same strategy as on Bifrost, but Valhall removed the FMA_RSCALE.v2f16 instruction. Instead we use an ordinary FMA.v2f16 for the multiply and check the special case explicitly with CSEL.v2f32 ... I'm not sure if this is right for infinity but the DDK does it so ¯\_(ツ)_/¯ Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Hack because this bloats bi_instr and fails to model multiple staging registers. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Fewer arguments compared to Bifrost. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-
Alyssa Rosenzweig authored
Still need to r/e the op. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com>
-