| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fix whitespace and remove dead comments
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This allows us to avoid doing some unneeded work on the meta paths where we
know that the image view will be used for exactly one thing. The meta
paths also sometimes do things that aren't quite valid like setting the
array slice on a 3-D texture and we want to limit the number of paths that
need to be able to sensibly handle the lies.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows us to set MOCS as a single uint32_t on all platforms.
|
|
|
|
|
|
|
|
| |
If you have an out-of-tree build, gen8_pack.h and friends will not be in
the same folder as genX_pack.h so this will be a problem. We fixed
out-of-tree earlier by adding the genxml folder to the includes for the
vulkan driver. However, this is not a good long-term solution because we
want to use it in ISL as well.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consecutive tiles are separated by the size of the tile, not by the
logical tile width.
v2: Remove extra subtraction (Ville)
Add parenthesis (Jason)
v3: Update the unit tests for the function
Signed-off-by: Nanley Chery <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
|
|
|
|
|
|
|
| |
Both logic and indentation suggests that the ; were not intended here.
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
|
| |
|
|
|
|
|
|
| |
From the Vulkan 1.0 spec section 3.2:
"If apiVersion is 0 the implementation must ignore it"
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we allocated 4kB of push constant space for VS, GS, and PS
(for a total of 12kB) no matter what. This works, but doesn't fully
utilize the space - we have 16kB or 32kB of space.
This makes anv use the same method as brw - divide up the space evenly
among all active shader stages. This means HS and DS would get space,
if those shader stages existed.
In the future, we can probably do better by inspecting how many push
constants each shader stage uses, and weight things accordingly. But
this is strictly better than the old code, and ideally we'd justify
a fancier solution with actual performance data.
|
|
|
|
|
| |
We were assuming it was 32kB everywhere, reducing the available URB
space. It's actually 16kB on Ivybridge, Baytrail, and Haswell GT1-2.
|
|
|
|
| |
Now we're emitting HS and DS packets as well.
|
|
|
|
|
|
|
|
|
|
| |
Rather than keeping separate {vs,hs,ds,gs}_start fields, we now store an
array indexed by the shader stage (MESA_SHADER_*). The 3DSTATE_URB_*
commands are also sequentially numbered. This makes it easy to just
emit them in a loop.
This simplifies the code a little, and also will make it easier to add
more credible HS and DS code later.
|
|
|
|
|
|
|
| |
The descriptor sizes array gives the total number of each type of
descriptor that will ever be allocated from the pool, not the total amount
that may be in any particular set. In our case, this simply means that we
have to sum a bunch of things up and there we go.
|
|
|
|
|
|
|
| |
We can't use a global descriptor pool like we were because it's not
thread-safe. For now, we'll allocate them on-the-fly and that should work
fine. At some point in the future, we could do something where we
stack-allocate them or allocate them out of one of the state streams.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Descriptor pools are an optimization that lets applications allocate
descriptor sets through an externally synchronized object (that is,
unlocked). In our case it's also plugging a memory leak, since we
didn't track all allocated sets and failed to free them in
vkResetDescriptorPool() and vkDestroyDescriptorPool().
|
| |
|
| |
|
|
|
|
|
|
|
| |
I've had people ask about the design of the pack functions, for example,
why aren't we using bitfields. I wrote up a bit of background on why and
how we ended up with the current design and we might as well keep that
with the code.
|
|
|
|
|
|
|
| |
As with anv_CmdCopyBufferToImage, compressed textures require special
handling during copies.
Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
|
|
|
|
| |
shader->num_uniforms is in terms of bytes in i965.
|
| |
|
|
|
|
| |
It pulls in all sorts of stuff we don't want.
|
| |
|
|
|
|
| |
It was a bad idea.
|
| |
|
| |
|
|
|
|
|
| |
This causes python problems and problems when people don't have a locale
set properly in their shell.
|
|
|
|
| |
We don't use width outside the debug clause here.
|
| |
|
| |
|
|
|
|
|
|
| |
We need to be able to find the generated gen*pack.h headers.
Acked-by: Jason Ekstrand <[email protected]>
|