| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The original spec I had didn't expose integer textures and suggested that
you use unfiltered floats. Now there are proper formats for them.
Fixes 16- and 32-bit texwrap integer tests in piglit, and
dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgb10_a2ui.
|
|
|
|
| |
Fixes all of piglit's OQ tests.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Fixes misaligned-looking addresses in decode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Groups containing fields smaller than a byte probably not being decoded
correctly. For example:
<group count="32" start="32" size="4">
<field name="Vertex Element Enables" start="0" end="3" type="uint"/>
</group>
gen_field_iterator_next would properly walk over each element of the
array, incrementing group_iter. However, the code to print the actual
values only considered iter->field->start/end, which are 0 and 3 in the
above example. So it would always fetch bits 3:0 of the current byte,
printing the same value over and over.
Cc: Eric Anholt <[email protected]>
|
|
|
|
|
|
|
|
| |
The output formats are consistent with their channels appearing from low
to high in their name. Textures are interpreted the same way, but their
names may have the channels swapped around. I'm retaining the texture
names so that we are consistent with the documentation, but I want to
leave a warning for others.
|
|
|
|
| |
The equivalent load already had the pad separated out.
|
| |
|
| |
|
|
|
|
| |
Improves CLIF dumping output.
|
|
|
|
|
|
|
| |
We were handing the intra-byte padding fine, but with a 24-bit address
(bottom 8 bits implied 0) we would end up off by 8 bytes in our shift,
impacting vc5's load/store general packets (all other packets we have had
<8 bits of padding).
|
|
|
|
|
| |
I've debugged two nasty errors now due to copy-and-pasting a bool type
when writing a uint field. Make sure I don't do that again.
|
|
|
|
|
| |
We don't set this field using the XML codegen, but this would help us
decode the right value in case of 16x (VG) oversampling.
|
|
|
|
| |
Fixes non-2D texturing.
|
|
|
|
| |
Reviewed-by: Dylan Baker <[email protected]>
|
| |
|
|
|
|
| |
Fixes arb_color_buffer_float-clear
|
|
|
|
|
| |
This controls the RTs that get stored by the default resolved store, the
same way that the extended resolved store packet has a RT bitmask.
|
|
|
|
|
| |
The bit was missing from the spec, but it's there in the simulator. Fixes
the piglit clipflat test.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I had misread the packet description: We always have a 32f depth, and a
separate u8 stencil.
|
|
|
|
| |
This lets us do index_bias and ARB_base_instance.
|
|
|
|
| |
We're going to need these for MSAA, and to use the generic per-tile list.
|
|
|
|
|
|
| |
These existed so I could unpack just the sub-id field to switch on in the
old manual CLIF dumper. The new codegen handles sub-id automatically, but
only if these stub packets aren't there with an implicit sub-id=0.
|
| |
|
|
|
|
|
| |
These will be used in tables in the Vulkan driver, and give us pretty CLIF
dump output.
|
|
|
|
|
| |
This basically comes from the intel genxml script. This will help improve
gdb and CLIF output once we convert fields over.
|
|
|
|
|
| |
This will be used by the new vc5 gallium driver, and a future Vulkan
driver.
|
|
|
|
|
|
| |
VC5 introduces packet variants where the same opcode has behavior that is
decided by a sub-id field in the early bits of the packet. Keep iterating
over packets until we find the one with the matching sub-id.
|
|
|
|
|
|
| |
In the vc5 NIR backend, I want to use the XML code-generation to set up
pack/unpack of structs for the texture uniforms, and setting up the
unpacked copy needs a default header.
|
|
|
|
|
|
| |
This keeps the flags out of v3d_decode.c's output. In the generated code,
only the unpack functions see any change (where they now get the
restricted start value), and vc4 doesn't use the unpack functions yet.
|
|
|
|
|
|
|
|
|
|
| |
I was writing the XML such that the address field overlapped various flags
in the alignment bits, which caused pain when trying to unpack for decode.
Instead, keep the XML matching the docs (address fields don't overlap),
and just infer the appropriate shift value during decode.
During pack, the address is just applied to the appropriate bits
already, ignoring the sub-byte start/end fields.
|
|
|
|
|
|
| |
This gets us automatic CL decoding to a floating-point value, and drops a
magic number from the emit code. 250x250 shader runner tests now say they
have a center of 125.0 instead of 2000.
|
|
|
|
|
|
|
| |
This is copied from Intel's XML decoder, modified to handle V3D's
byte-oriented packets.
v2: Squash in robher's fixes for Android
|
|
|
|
| |
These will be used to replace vc4_cl_dump.c's hand-written dumping.
|
|
|
|
| |
This will let us reuse their tools more easily.
|
|
|
|
|
| |
This was an oversight in the original XML support, because unpacking
wasn't used much. The new XML-based CL dumper will want it, though.
|
| |
|
|
I really liked this idea, as it should help with management of packet
parsing tools like the CL dump. The python script is forked off of theirs
because our packets are byte-based instead of dwords, and the changes to
do so while avoiding performance regressions due to unaligned accesses
were quite invasive.
v2: Fix Android.mk paths, drop shebang for python script, fix overlap
detection.
Acked-by: Jason Ekstrand <[email protected]>
Acked-by: Kenneth Graunke <[email protected]>
Tested-by: Rob Herring <[email protected]>
|