| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We have to compute the queries in software, so we're counting the
primitives by hand. We still need to make sure to not increment the
PRIMITIVES_EMITTED if we overflowed, but leave that for later.
|
|
|
|
| |
Fixes all of piglit's OQ tests.
|
|
|
|
|
| |
Fixes crashes when ARB_fp uses texture[1] but not 0, as in piglit's
fp-fragment-position.
|
|
|
|
| |
Fixes piglit oes_compressed_etc2_texture-miptree srgb8-alpha8.
|
|
|
|
| |
Fixes piglit early-z.
|
|
|
|
|
|
|
|
| |
The lod clamping is what limits you between base and last level, and the
base level field is just there to help decide where the min/mag change
happens.
Fixes tex-miplevel-selection GL2:texture()
|
| |
|
|
|
|
|
|
|
|
| |
The ordering of the values was even less obvious than I thought, with both
the mip filter and the min filter being in different bits depending on
whether the mip filter is none.
Fixes piglit fs-textureLod-miplevels.shader_test
|
|
|
|
|
|
|
|
| |
The HW doesn't pad the slice's height to make a full 4x4 group of UIF
blocks. We just need to pad to columns, and the start of the next column
appears in the bottom of the previous column's last block.
Fixes piglit fs-textureOffset-2D.
|
|
|
|
|
| |
The alignment of level 0 is non-obvious, so it's hard to turn a faulting
address into a slice without this.
|
|
|
|
| |
Fixes piglit glsl-es-3.00/minimum-maximums.txt.
|
|
|
|
|
| |
The field is signed 8.8, so the usual 16.0f fits. Fixes piglit
gl-2.1-minmax.
|
|
|
|
|
| |
They aren't quite in the same order as the gallium defines. Fixes piglit
gl-2.0-two-sided-stencil.
|
|
|
|
| |
Only the stencil ref comes in as dynamic state at emit time.
|
|
|
|
|
|
| |
This is so much more pleasant to write than the manual
V3D33_whatever_pack() calls, and will be useful for when we start doing
actual per-V3D compiles.
|
|
|
|
| |
Cleans up the hand-written code, at the cost of another ugly macro.
|
|
|
|
|
| |
The enable flag is also in the rasterizer state, so it will be emitted
once it's needed.
|
|
|
|
|
|
| |
As with blending, we'll have the bit flagged again when it gets reenabled
in CONFIGURATION_BITS, so there's no need to emit test state if we're not
testing.
|
|
|
|
|
| |
The dirty bit will be flagged again when re-enbaled. Keeps us from
emitting blend state in CLs that never do blending.
|
|
|
|
|
| |
I was hoping that this would help with fbo-generatemipmap hangs, but no
luck.
|
|
|
|
|
|
|
|
|
| |
The HW puts the pad bits at the top for DEPTH_COMPONENT24, but we need it
at the bottom for texturing. Using the format with stencil probably means
we won't be able to do Z24 and separate S8, but I wasn't planning on
supporting that anyway.
Fixes hiz-depth-read-fbo-d24-s0
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|