| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generate an array of struct isl_format_layout, using
isl_format_layout.csv as input.
Each entry follows the patten:
[ISL_FORMAT_R32G32B32A32_FLOAT] = {
ISL_FORMAT_R32G32B32A32_FLOAT,
.bs = 16, .bpb = 128,
.bw = 1, .bh = 1, .bd = 1,
.channels = {
.r = { ISL_SFLOAT, 32 },
.g = { ISL_SFLOAT, 32 },
.b = { ISL_SFLOAT, 32 },
.a = { ISL_SFLOAT, 32 },
.l = {},
.i = {},
.p = {},
},
.colorspace = ISL_COLORSPACE_LINEAR,
.txc = ISL_TXC_NONE,
},
|
|
|
|
|
|
| |
anv_meta.c currently handles blits, copies, clears, and resolves. The
clear code is about to grow, and anv_meta.c is already busting at the
seams.
|
|
|
|
|
|
|
| |
What we had before was kind of a hack where we made certain untrue
assumptions about the incoming data. This new support, while it still
doesn't support indirects properly (that will come), at least pulls the
offsets and strides from SPIR-V like it's supposed to.
|
|
|
|
|
| |
Move it from anv_device.c to new file anv_pass.c. Because it will soon
grow bigger.
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we have a decent interface in upstream mesa, we can get rid of all
our hacks. As of this commit, we no longer use any fake GL state objects
and all of shader compilation is moved into anv_pipeline.c. This should
make way for actually implementing a shader cache one of these days.
As a nice side-benifit, this commit also gains us an extra 300 passing CTS
tests because we're actually filling out the texture swizzle information
for vertex shaders.
|
| |
|
|
|
|
|
|
| |
The ability to dump an arbitrary miplevel or array slice of an anv_image to
a file is very useful for debugging. Nothing inside of the driver calls
this right now, but it's very useful to call from GDB.
|
|
|
|
|
| |
This new pass lowers the _vk intrinsics which take a (set, binding, index)
tripple to the single-index non-vk intrinsics based on the pipeline layout.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Eliminates lots of warnings due to anv_meta.c's inclusion of nir.h.
I like the extra warnings, and they should probably get fixed. However,
git-grep reveals that no other Mesa directory uses -Wextra. Building
Vulkan produces a lot of compiler warnings from core Mesa headers that
no other Mesa developer sees, and hence no other Mesa developer will
fix.
|
|
|
|
|
|
|
|
| |
anv_meta no longer uses GLSL shaders, and the build system no longer
converts them to SPIR-V. So remove anv_meta_spirv_autogen.h from
Makefile.am.
(cherry picked from commit 2fc8122f66331e76ac436ea77ad5b57a011b188a)
|
|
|
|
|
|
| |
This was very useful to get us up-and-going. However, now that we can use
NIR directly for meta shaders, we don't need this anymore and we might as
well drop the glslc dependency.
|
|
|
|
| |
This commit just adds the NIR pass but does none of the uniform setup
|
|
|
|
| |
Turns out this was why I had accidentally broken the universe. Oops...
|
|
|
|
|
|
|
| |
Pulling in libwayland causes undefined symbols in applications that are
linked against vulkan alone. Ideally, we would like to dlopen a platform
support library or something like that. For now, this works and should get
crucible running again.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, this is a very large commit and removes the old LunarG WSI
extension. This is because there are a couple of entrypoints that have the
same name between the two extensions so implementing them both is
impractiacl.
Support is still incomplete, but this is enough to get vkcube up and going
again.
|
| |
|
| |
|
|
|
|
|
| |
We are also now using glslc for compiling the Vulkan driver like we do in
curcible.
|
|
|
|
|
|
|
| |
With all the previous commits in place, we can now drop in support for
multiple platforms. First up is gen7 (Ivybridge).
Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We'll organize gen specific code in three files per gen: pipeline,
cmd_buffer and state, eg:
gen8_cmd_buffer.c
gen8_pipeline.c
gen8_state.c
where gen8_cmd_buffer.c holds all vkCmd* entry points, gne8_pipeline.c
all gen specific code related to pipeline building and remaining state
code (sampler, surface state, dynamic state) in gen8_state.c.
Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
|
|
|
|
| |
Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
|
|
|
|
|
|
| |
These are now available in intel_aubdump from intel-gpu-tools.
Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
|
|
|
|
| |
This prevents make from stomping on nir_spirv.h
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Previously, the command buffer implementation was split between
anv_cmd_buffer.c and anv_cmd_emit.c. However, this naming convention was
confusing because none of the Vulkan entrypoints for anv_cmd_buffer were
actually in anv_cmd_buffer.c. This changes it so that anv_cmd_buffer.c is
what you think it is and the internals are in anv_batch_chain.c.
|
|
|
|
|
|
| |
Jason started the task by creating anv_cmd_buffer.c and anv_cmd_emit.c.
This patch finishes the task by renaming all other files except
gen*_pack.h and glsl_scraper.py.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Commit 1286bd, which deleted vk.c, broke the build. Update the Makefile
to fix it.
|
|
|
|
|
| |
We now have crucible up and running and all vk sub-cases have been moved
over. Delete this crufty old hack of a test case.
|
| |
|
| |
|
|
|
|
| |
We are not yet using SPIR-V for meta but this is a first step.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We move the format table and vkGetFormatInfo to their own file in the
process.
|
|
|
|
|
| |
This lets us generate a hash table for vkGetProcAddress and lets us call
public functions internally without the public entrypoint overhead.
|
|
|
|
| |
I need this for building a testsuite.
|
|
|