| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Some hw (evergreen) has a limit on how many combined (images/buffers/mrts)
a fragment shader can access.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Fixes fbo-blending-formats on RGB8 and 565. We will still need to demote
blending to shader code in the MRT case to fix it in general, but that can
be added when we start doing 32F blending (which also needs to be done in
the shader).
|
|
|
|
| |
Fixes many of the fbo-blending-formats tests.
|
|
|
|
|
|
|
|
|
|
| |
The previous packing I did got us all the R*16F and R*32F formats, where
the pipe format basically matched the TLB's format, but since the clear
color will just be memcpyed to the TLB, we should be looking at its format
for deciding how to pack.
Fixes RGB565, RGB5_A1 and RGBA10 fbo-clear-formats tests and improves
4444.
|
|
|
|
| |
The HW's format actually matches the gallium format.
|
|
|
|
| |
This keeps us from needing our own reswizzling of the B vs R fields.
|
| |
|
|
|
|
|
| |
I had the rest of stencil state set up, but forgot to actually enable it
in the higher level configuration bits packet.
|
|
|
|
|
| |
It gets most of EXT_framebuffer_multisample-formats passing, but doesn't
really work for texture views.
|
|
|
|
|
| |
This should help with texture views, though I just noticed this while
reading the code.
|
|
|
|
|
| |
Similar to stores, but we also need to emit dummy stores in between each
load, to flush out the previous queued load.
|
|
|
|
|
|
|
|
|
|
|
| |
We were storing the resolved pixels in all cases, but nr_samples > 0 means
we should be keeping the per-sample values.
We will probably want to change the job structure at some point, as we'll
want to recognize full-buffer resolves and do the resolved store in the
same job as the original rendering, meaning we'll need to track both the
MSAA and single-sample resources in the job. However, this will be enough
to build the rest of the MSAA support.
|
|
|
|
|
|
|
|
|
| |
The HW has no native sampler support for multisample textures, but since
we only need to support txf_ms and the layout is UIF, we just need to
scale up the texcoords and then add in the sample.
This drops the old TEXTURE_MSAA_ADDR special uniform, since we're treating
MSAA textures as textures, rather than basically texbos like VC4 had to.
|
|
|
|
|
|
| |
We just need to multiply width/height by 2 each, and always set them up as
UIF tiling, since that's how the TLB will store them in raw (per-sample)
mode.
|
|
|
|
|
|
| |
I already had the texture's wrapping set up to use different behavior for
nearest or linear, so we just needed to saturate the coordinates in linear
mode to get the "proper" blend between the edge and border values.
|
|
|
|
| |
We don't seem to have a way to generally handle gl_SkipComponents.
|
|
|
|
| |
Fixes glsl-arb-fragment-coord-conventions.
|
|
|
|
|
|
| |
1D is the exception to "all V3D textures are tiled", since tiling 1D
textures would just waste memory and cache space. This ended up being a
problem once we started actually marking 1D textures as 1D instead of 2D.
|
|
|
|
|
|
| |
Like VC4, we need to at least have one element set up, but unlike VC4 it
seems we don't need to read it to keep the HW happy. Fixes GPU hangs with
glsl-no-vertex-attribs.shader_test.
|
|
|
|
|
| |
We weren't ever filling in the texture state record, so we'd dereference
NULL from the shader.
|
|
|
|
|
|
|
|
|
| |
I was generating some stub values to bring the driver up, but fill them in
properly now. We now set 1.0 or 1u as appropriate, and thanks to being in
their own BO it fixes piglit failures on the 7268 (where our 4-byte
alignment was insufficient).
Fixes const-packHalf2x16.shader_test
|
|
|
|
|
| |
This should reduce our draw-time overhead, and puts the code where it
should go long term.
|
|
|
|
| |
Fixes: 59fb59ad54d3 ("nir: Get rid of nir_shader::stage")
|
|
|
|
|
|
|
| |
v2: Default vc5 to off, since it requires the simulator currently. Add
missing dep on the XML generation from libbroadcom_vc5.
Reviewed-by: Dylan Baker <[email protected]> (v1)
|
|
|
|
| |
Fixes dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb5_a1
|
|
|
|
| |
Like for vc4, this was just a wasted indirection.
|
|
|
|
|
| |
Like vc4, we have the alpha in the low bit. Fixes a bunch of piglit
texwrap failures.
|
| |
|
|
|
|
| |
Fixes arb_color_buffer_float-clear
|
|
|
|
| |
Fixes fbo-mrt-alphatest.
|
|
|
|
|
| |
I cut the line out to move it up to the top, when putting "0" in the
switch made the compiler complain that that wasn't a valid enum.
|
|
|
|
|
| |
The TLB write code is getting ugly and needs a refactoring (that will
hopefully handle TLBU uniform coalescing as well).
|
|
|
|
| |
This gets fbo-mrt-alphatest working except for the second RT's clear color.
|
| |
|
|
|
|
|
| |
We need to divide the TLB in two for the 2nd color buffer, and again if
the 3rd or 4th are present.
|
|
|
|
| |
We now emit as many TLB color writes as there are color buffers.
|
|
|
|
|
| |
The bit was missing from the spec, but it's there in the simulator. Fixes
the piglit clipflat test.
|
|
|
|
| |
This doesn't yet support PSIZ, but gets us at least some of TF working.
|
|
|
|
| |
It's a NIR driver_location, not a slot offset.
|
|
|
|
|
| |
The TF enable state appears to stick around until the next TF enable
packet is sent, so we only want to request TF when the shader is using it.
|
|
|
|
| |
I missed the "- 1" when reading the spec.
|
| |
|
|
|
|
|
| |
We will want something fancier for reusing a TF output within the same
frame, but we at least need this in order for piglit tests to work.
|
|
|
|
|
| |
The interpolation qualifier, if specified, is supposed to take precedence
over glShadeModel().
|
|
|
|
|
|
|
| |
The HW will halt when you hit a HALT packet, or when you hit the end
address. Tell CLIF if there's an end address is so that it can stop
correctly. (There was usually a 0 byte after the CL, so it would stop
anyway).
|
|
|
|
|
| |
I had misread the packet description: We always have a 32f depth, and a
separate u8 stencil.
|
|
|
|
| |
We can render to and sample from it just fine.
|
|
|
|
| |
Fixes glsl-fs-discard-02.
|
|
|
|
|
|
| |
I had base_vertex hacked into the shader state setup like in vc4, but it's
not correct for big offsets. Using the proper packet is easier and
hopefully means we can re-emit shader state setup less frequently.
|
|
|
|
|
| |
This massively reduces the size of our RCL setup. It also gets us closer
to supporting multicore platforms.
|