| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
These are pretty catastrophic, "should never happen" failure paths (though
4 tests in piglit hit them currently, due to a single bug). An abort()
that you can gdb on easily is probably more useful than a clean exit,
particularly since a bug in piglit framework right now is causing early
exit(1)s to simply not be recorded in the results at all.
|
|
|
|
|
| |
We were using the un-minified value, meaning we'd reject correctly laid
out textures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
max_index was coming from either the user telling us as part of
glDrawRangeElements, or from an incidental calculation as part of some
sort of primitive conversion fallback. Sometimes, it was just set to the
default "I don't know" ~0 value.
If it wasn't set to the actual max index, then the kernel would reject the
draw call for allowing out-of-bounds VBO reads. So, compute the max index
from the sizes of the VBOs, which isn't too expensive (unlike mapping and
reading the index buffer) and is reliable.
Fixes piglit vao-element-array-buffer.
|
|
|
|
|
| |
The flush only happens after both are written, so we can do them in either
order. This will let me compute max_index during the shader record setup.
|
|
|
|
| |
Fixes piglit glsl-fs-pointcoord, point-sprite, and fbo-gl_pointcoord.
|
|
|
|
| |
This is the support for both the global and per-vertex modes.
|
|
|
|
|
| |
I don't see piglit tests for it, but this should be better than not
emitting it at all.
|
|
|
|
|
| |
Setting the bit without setting the offset values is kind of useless.
Fixes piglit polygon-offset (but not polygon-mode-offset).
|
|
|
|
|
| |
Fixes many 565 piglit tests (like fbo-generatemipmap-formats) that weren't
expecting dithering.
|
|
|
|
| |
Fixes most of piglit fbo-alphatest-formats (but not RGB565/332).
|
|
|
|
|
|
|
|
| |
Rather than duplicating the libdeps, extra define... all over the
targets, define them only once and use when applicable.
Signed-off-by: Emil Velikov <[email protected]>
Acked-by: Matt Turner <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
There are only 32 bits in the flatshade flags (which are 1 bit per
component), the simulator crashes when you use more than about this many
varyings, and the original Broadcom code drop only exposed 8 as well.
Fixes 26 piglit tests in the varying-packing group, and makes many others
go from crash to fail (due to not checking their varying counts and
treating link failures as failures). Regresses ARB_fp/minmax (due to 8
varyings instead of 10).
|
|
|
|
|
|
|
| |
This is just the GL 1.1 flat shading of colors -- we don't need to support
TGSI constant interpolation bits, because we don't do GLSL 1.30.
Fixes 7 piglit tests.
|
|
|
|
| |
This should have been in 001247d230f022fffac68f4578348087a53d3940.
|
|
|
|
|
|
|
|
| |
They still provide register pressure since I haven't made a special class
for them, but since they're only live for one instruction it probably
doesn't matter.
This improves the readability of QPU assembly.
|
|
|
|
| |
Cleans up a bunch of ugliness in perspective interpolation.
|
|
|
|
|
| |
We only need to do the fixup when both args are in the same file, not just
when both are in physical registers.
|
| |
|
|
|
|
|
|
| |
The A-file unpack is just like R4 unpack, except that if you don't do a
floating-point operation it won't do float conversion (so int16 gets
scaled up to int32).
|
|
|
|
|
|
|
|
|
| |
This will let me more reliably allocate a-file registers, which are going
to be even more in demand when I start using a-file unpacks.
Also fixes a bug where the reservation of payload registers (FRAG_Z/W) was
off by one but just caused failure to register allocate at all if the
off-by-one was fixed.
|
| |
|
|
|
|
|
| |
I wanted to hang the ra_regs off it so I didn't have to free, but it
turned out it wasn't ralloced yet.
|
|
|
|
| |
Fixes the mesa reflect demo and 6 tests under interpolation/
|
|
|
|
| |
I need to get the non-reciprocal version of W for interpolation, anyway.
|
|
|
|
|
|
|
| |
While depth test state is passed through the fragment shader as sideband,
data, the stencil test state has to be set by the fragment shader itself.
Many tests are still failing, but this gets most of hiz/ passing.
|
| |
|
|
|
|
|
| |
Fixes 12 piglit tests (and 8 more crash -> fail) from reducing register
pressure.
|
|
|
|
| |
Prevents regression when I start doing copy propagation on uniforms.
|
| |
|
|
|
|
|
|
| |
This allows for introducing dead code eliminating of uniforms, copy
propagation of uniforms, and instruction rescheduling between instructions
that both read uniforms.
|
|
|
|
|
|
|
| |
This is particularly important for outputs, where we try to MOV the whole
vec4 to the VPM, even if only 1-3 components had been set up. It might
also be important for temporaries, if the shader reads components before
writing them.
|
|
|
|
| |
Somehow I slipped this in with the original commit of CSE.
|
|
|
|
|
|
|
|
| |
This gets a ton of piglit working that crashes in waffle context
management stuff otherwise. Actually supporting mismatched FB sizes is at
best going to require some more load/store generals for color buffers, but
if I can't manage to do that I'll want to just have state_tracker reject
those FBOs as unsupported, rather than deny GL 2.1.
|
| |
|
|
|
|
|
| |
I'm going to be rewriting it all, and having it mixed up with the
QIR-to-QPU opcode translation was messy.
|
|
|
|
| |
Fixes piglit glsl-1.10-fragdepth and early-z.
|
|
|
|
|
|
| |
The goal here is to have an argument for the depth write opcode so that I
can do computed depth. In the process, this makes the calculations that
will be emitted more obvious in the QIR.
|
|
|
|
|
| |
This query has always been useless, but we could potentially reject
well-formed, runnable programs if we expose a value that's too low.
|
|
|
|
|
|
| |
We don't have any specific limits in the hardware, just like the other
GPUs, so match their behavior. Fixes minmax_gles2 and several other
piglit tests relying on the specced uniform minmax values.
|
|
|
|
|
| |
Fixes buffer overflows in some piglit tests (which are still failing to
register allocate anyway).
|
| |
|
| |
|
|
|
|
|
| |
Fixes redefinition warnings if you end up including this header before
util stuff.
|
|
|
|
|
|
|
|
|
|
| |
This allows a sampler view to have a different texture target than the
underlying resource. This will be used to implement the type casting
between 2d arrays and cube maps as specified in ARB_texture_view.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
|
|
|
|
|
|
|
| |
This doesn't quite make depth-tex-compare work, presumably because we're
not hitting equality with itof(sample) * 1.0/0xffffff in the 0xffffff
case. arb_fragment_program_shadow tests pass, though, as well as a bunch
of other shadow-related stuff.
|
|
|
|
| |
Fixes depth-tex-modes.
|
|
|
|
| |
I'm going to be putting some bitfields into the struct as well.
|
| |
|
|
|
|
|
|
|
|
| |
We potentially need to be careful that use of a value stored in r4 isn't
copy-propagated (or something) across another r4 write. That doesn't
appear to happen currently, and this makes the dataflow more obvious. It
also opens up not unpacking the r4 value, which will be useful for depth
textures.
|
|
|
|
| |
SF doesn't have a src[1].
|