5debfeb86f524b06aa3b80f9855947a57b5f91e8 |
|
11-Nov-2016 |
Jonas Pfeil <pfeiljonas@gmx.de> |
vc4: Add simulator kernel validation for multithreaded fragment shaders. This is Jonas Pfeil's code from the kernel, brought back to Mesa by anholt.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
80157466cd56bfaeadbdcac497b04c16c2732a3b |
|
06-Jan-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add miptree/texture state support for ETC1 compressed textures. The format isn't flagged as enabled at runtime yet, because we need kernel validation support.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
54800bb71c874bc7e9953a2e6d29ea53915f5be7 |
|
15-Mar-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Add kernel support for branching in shader validation. We're already checking that branch instructions are within the contents of the shader and the proper PROG_END sequence is present. The other thing we need in the presence of branching is to verify that the shader doesn't overflow past the end of the uniforms stream. To do that, we require that at the start of any basic block reading uniforms have the following instructions: load_imm temp, <offset within uniform stream> add unif_addr, temp, unif The instructions are generated by userspace, and the kernel verifies that the load_imm is of the expected offset, and that the add adds it to a uniform. We track which uniform in the stream that is, and at draw call time fix up the uniform stream to have the address of the start of the shader's uniforms for that draw call. Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
e7c8ad0a6c8ba263f29b7c3c5120bc6beabeba7b |
|
21-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add kernel RCL support for MSAA rendering.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
1529f138fff59bdb857d5f7da0ee2537521d5044 |
|
07-Dec-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Fix compiler warning from size_t change. I missed this when bringing over the kernel changes.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
0afe83078d10e0d376f7c3e2515ab2682fec0eb1 |
|
05-Dec-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Bring over cleanups from submitting to the kernel.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
c93ffd661a46f0f6d20c9ec2e97d4d9393e28111 |
|
29-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Mark our shaders as single-threaded. I had my understanding of this bit flipped. We're using the full register space, so we need to say so.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
86541cf8cea77f4b887dd061e7d6e3e4767f86fd |
|
29-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Avoid overflowing various static tables.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
d0173bce371e3aafa732600c1456a9282ff5d900 |
|
29-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Fix return values from recent validation changes.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
1f5e070dd7ddd344a913f2f5daddebb4c51abb8a |
|
28-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Simplify vc4_use_bo and make sure it's not a shader. Since the conversion to keeping validated shaders around for the BO's lifetime, we haven't been checking that rendering doesn't happen to shaders. Make vc4_use_bo check that always, and just don't use it for the VC4_MODE_SHADER case (so now modes are unused)
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
044f7bbda077ea7029fb1004183b29127307bd84 |
|
28-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Keep the validated shader around for the simulator execution. This more closely matches the kernel behavior on shader validation now.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
22954db71cd1d8d9ef6e5a16f568e4b3c7845777 |
|
28-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Make the object be the return value from vc4_use_bo(). Drops 40 bytes of code from validation.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
cbb7477e8a796211b664ff7e47334cb1b642556d |
|
28-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Ensure that the bin CL is properly capped by increment/flush. We don't want anything to appear after we've kicked off the render (and thus job flush), since that might then get written out to the tile allocation state. Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
601733da6708722ceedd35afc7727c28779012f7 |
|
28-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Drop NV shader reloc validation. It wasn't validating enough, and we don't need the packet.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
5341349dde6f5c70af188e48ef0082e6e7d5361f |
|
17-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add debugging on texture relocation validation failures.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
1d45e44b2f9e52d6eebe84ab08da6b7393011f95 |
|
17-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Move tile state/alloc allocation into the kernel. This avoids a security issue where userspace could have written the tile state/tile alloc behind the GPU's back, and will apparently be necessary for fixing stability bugs (tile state buffers are missing some top bits for the tile alloc's address).
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
9adcd2d80aceec90b9c3712b53d8e7839dc5634b |
|
10-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Move RCL generation into the kernel. There weren't that many variations of RCL generation, and this lets us skip all the in-kernel validation for what we generated.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
731ac05cc4e444175288032a76a29c95059af038 |
|
12-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Use VC4_SET/GET_FIELD for some RCL packets.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
e22a1927844cdda499ea15f539028c16e47394ea |
|
10-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Make symbolic values for packet sizes.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
c2f82876014c9acb0518cf31a6f675fcc73c955a |
|
10-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Use symbolic values in texture ptype validation.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
e67b12eaf89acc9c446de77b77120a2f6cdbbe12 |
|
01-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Update to current kernel validation code. After profiling on real hardware, I found a few ways to cut down the kernel overhead.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
76d56752ccff5bca3a0808705d5da76f186afb33 |
|
09-Apr-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Allow submitting jobs with no bin CL in validation. For blitting, we want to fire off an RCL-only job. This takes a bit of tweaking in our validation and the simulator support (and corresponding new code in the kernel).
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
d04b07f8e2eb61bb389f2d6b8ed0a501952466ee |
|
09-Apr-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Fix off-by-one in branch target validation.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
725620f21d19365d7a8a34d0c72694384c680afc |
|
09-Apr-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Sync with kernel changes to relax BCL versus RCL validation. There was no reason to tie the two packets' values together.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
b3ea377f8629ada57c67632a89f0d2e9d2faf23c |
|
24-Mar-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Write the alignment of level width consistently in validation. 16 / cpp happens to be the same as utile_w on the only raster format supported (4 bytes per pixel), but simulator/hw source code generally talks in terms of utiles.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
49d3c6a8e63ead43fafb7d52e2c770a1320eb2ee |
|
23-Feb-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Update to current kernel sources. New BO create and mmap ioctls are added. The submit ABI gains a flags argument, and the pointers are fixed at 64-bit. Shaders are now fixed at the start of their BOs.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
82e919d33bbe508b3e1ba883a01ef2512dbc8f72 |
|
18-Nov-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Emit semaphore instructions for new kernel ABI. Previously, the kernel would dispatch thread 0, wait, then dispatch thread 1. By insisting that the thread contents use semaphores in the right place, the kernel can sleep for longer by dispatching both threads at once.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
f87c7008958cdb095efa1cfb29ca8f3c9b9066e4 |
|
02-Oct-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Add support for ARL and indirect register access on TGSI_FILE_CONSTANT. Fixes 14 ARB_vp tests (which had no lowering done), and should improve performance of indirect uniform array access in GLSL.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
5539a5b68518914af7e1b97b6a7f57961cdf21f2 |
|
29-Oct-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Fix mixup of return type in reloc_tex().
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
6576dc1e9264865c59b569ecb13f2fe439620f6c |
|
24-Oct-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Fix a couple missing '\n's in error output.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
1f7048419ed6ad4d25e89efa885fdc58d36c4213 |
|
17-Oct-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Fix accidental dropping of the low bits of the store tilebuffer packet. Notably this included the EOF flag (the other bits are the full buffer dump selection, but we don't do full dumps), which caused the kernel checking for frame completion to trigger.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|
0b96a086cbb4bcf0a5aab1fee6d77c1e40295297 |
|
01-Oct-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Move the mirrored kernel code to a kernel/ directory. Now this whole setup matches the kernel's file layout much more closely.
/external/mesa3d/src/gallium/drivers/vc4/kernel/vc4_validate.c
|