| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This mostly fixes glxgears rendering.
|
|
|
|
| |
This gets glxgears partially rendering again.
|
|
|
|
|
|
|
| |
This isn't passing all tests (glsl-fs-fragcoord-zw-ortho, for example),
but it does get a bunch more tests passing.
v2: Rebase on helpers change.
|
|
|
|
| |
This makes some space for handling special inputs like fragcoords.
|
|
|
|
|
|
|
| |
This prevents some simulator assertion failures, but it does mean (since
I've dropped the "* 16" padding) that on real hardware you need a kernel
that does overflow memory management (currently, "drm/vc4: Add support for
binner overflow memory allocation." in my kernel tree).
|
|
|
|
| |
These #defines are 0, but it should help make math above make more sense.
|
|
|
|
| |
This should reduce a bunch of spurious failures in sim.
|
| |
|
|
|
|
| |
When you're debugging validation, it's nice to know what the BOs are for.
|
|
|
|
|
|
|
| |
In addition to reducing sim-specific code, it also avoids our local handle
allocation conflicting with the host GEM's handle numbering, which was
causing vc4_gem_hindex() to not distinguish between winsys BOs and the
same-numbered non-winsys bo.
|
|
|
|
| |
Otherwise it'll stick around forever.
|
|
|
|
|
|
| |
... and reject everything else, for now.
v2: Rebase on v2 of the rendering config validation change.
|
|
|
|
|
|
| |
It's not relevant to our command streams any more.
v2: Fix indentation and a typo in the comment.
|
| |
|
|
|
|
|
| |
It turns out they aren't packed when attributes are missing, according to
both docs and simulation.
|
|
|
|
|
|
|
| |
It turns out they aren't packed when attributes are missing, according to
both docs and simulation.
v2: Drop unused variable.
|
|
|
|
| |
v2: Fix a build break after some previous rebase.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
We don't care if things like vertex data get smashed by render target
data, but we do need to make sure that shader code doesn't get rendered
to.
v2: Fix overflowing read of gl_relocs[] that incorrect flagged of some
VBOs as shader code.
|
| |
|
|
|
|
|
| |
It's not a real VC4 hardware packet, but I've put in a comment to explain
it.
|
|
|
|
|
|
| |
The comment conflicted with the support in the code, so I moved the TMU
write validation to where the comment was, and dropped some dead arguments
from the functions while changing their signatures.
|
| |
|
|
|
|
| |
This fixes the remaining failure in depthfunc.
|
|
|
|
|
|
|
|
|
| |
This doesn't load/store the Z contents across submits yet. It also
disables early Z, since it's going to require tracking of Z functions
across multiple state updates to track the early Z direction and whether
it can be used.
v2: Move the key setup to before the search for the key.
|
|
|
|
|
| |
This should prevent a bunch of unnecessary flushes for things like
updating immediate vertex data.
|
|
|
|
| |
Now we actally get multiple draw calls per submit.
|
|
|
|
|
| |
Otherwise, the low address bits will end up being interpreted as attribute
counts.
|
| |
|
|
|
|
|
|
| |
Otherwise, once we're not flushing at the end of every draw, we'll free
things like gallium resources, and free the backing GEM object, before
we've flushed the rendering using it to the kernel.
|
|
|
|
|
|
|
|
|
| |
render_cl_size/bin_cl_size includes relocations, while the hardware buffer
doesn't. If you don't emit a HALT packet, the command parser continues
until the end register's value. We can't allow executing unvalidated
buffer contents (and it's actually harmful in the render lists Mesa is
emitting, since VC4_PACKET_STORE_MS_TILE_BUFFER_AND_EOF doesn't trigger a
halt).
|
|
|
|
|
| |
I was confused looking at my addresses in dumps because I was seeing the
tile branch offsets jumping all over.
|
|
|
|
|
|
| |
This is a step toward queueing more than one draw per frame.
Fixes piglit attribute0 test, since we get a working clear color now.
|
|
|
|
|
| |
We only want to set up render target config and clear colors once per
frame.
|
| |
|
| |
|
|
|
|
|
| |
I decided I didn't like "len" compared to "size", and I keep typing
shader_rec instead of shader_record[s] elsewhere, so make it consistent.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This required building a shader parser that would walk the program to find
where the texturing-related uniforms are in the uniforms stream.
Note that as of this commit, a new kernel is required for rendering on
actual VC4 hardware (currently that commit is named "drm/vc4: Introduce
shader validation and better command stream validation.", but is likely to
be squashed as part of an eventual merge of the kernel driver).
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This ensures that when I'm using the simulator, I get a closer match to
what behavior on real hardware will be. It lets me rapidly iterate on the
kernel validation code (which otherwise has a several-minute turnaround
time), and helps catch buffer overflow bugs in the userspace driver
faster.
|
| |
|
|
|
|
| |
v2: Rebase on helpers change.
|
|
|
|
|
|
|
|
| |
Only rgba8888 works, and only a single texture unit, and it's only under
simulation because I haven't built the kernel interface yet.
v2: Rebase on helpers.
v3: Fold in the don't-break-the-arm-build fix.
|
|
|
|
| |
Fixes the build since c10332bbb8889d733bdaa729ef23cbd90176b55d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This limit is fixed in Mesa core and cannot be changed.
It only affects ARB_vertex_program and ARB_fragment_program.
The minimum value for ARB_vertex_program is 1 according to the spec.
The maximum value for ARB_vertex_program is limited to 1 by Mesa core.
The value should be zero for ARB_fragment_program, because it doesn't
support ARL.
Finally, drivers shouldn't mess with these values arbitrarily.
Reviewed-by: Ilia Mirkin <[email protected]>
|
|
|
|
|
|
|
| |
So move it from dri_context to dri_screen.
This will be needed for version computations.
Reviewed-by: Ilia Mirkin <[email protected]>
|
|
|
|
|
|
|
| |
All flags are set for st/mesa, so the state tracker doesn't have to check
them.
Reviewed-by: Ilia Mirkin <[email protected]>
|