Add Vulkan functions, types and variables#9
Add Vulkan functions, types and variables#9JolifantoBambla wants to merge 17 commits intocbaggers:masterfrom
Conversation
…sampler-constructors
|
@cbaggers Sorry, I missed that version numbers |
|
@cbaggers just linking the other PR in varjo |
|
Oh wow, great work. I'll take a look at this sometime this next week |
|
Well that week got away from me. I'm very interested in getting this in. I'll keep you posted |
|
Great. This is looking very promising. opengl-only and vulkan-only are neat but would break things for those using destructuring-bind on the entries. I'm wondering if we could use the |
|
Hmm I guess it's an issue vulkan version is independent of glsl version
|
|
I considered a Maybe then the list is a more general
We can then reuse this list for extensions too. |
|
If we do try a This makes the I guess we just use |
|
In the process of thinking about this I made the following branches to see how the code would look:
|
|
p.s. sorry about the force-push there, I screwed up which repo I was pushing code to |
|
Awesome! I'm leaning more towards the Would you be fine with mixing keywords (for Oh and I guess you've seen it already, but if not: the new types (e.g. |
|
And I think this is the way to go:
|
|
In the Vulkan spec they differentiate between features (like Vulkan 1.0, 1.1 & 1.2) and extensions. So the |
|
Nice! I really like the sounds of features and requirements so I'll mull that over. |
|
Cool! Thanks! Glad to help :) |
|
Hey, I added a branch to see how a In the future, stuff that would require an extension to be enabled would get an additional list. (:LISP-NAME "RAY-QUERY-GENERATE-INTERSECTION-EXT" :NAME "rayQueryGenerateIntersectionEXT" :RETURN "void" :ARGS (("q" "rayQueryEXT") ("tHit" "float")) :VERSIONS (:140-CORE :150-CORE :330-CORE :400-CORE :410-CORE :420-CORE :430-CORE :440-CORE :450-CORE :460-CORE) :PURE NIL :FEATURES (:VULKAN) :EXTENSIONS ("GL_EXT_ray_query")) |
|
I fell of the lisp wagon again. I'm getting caught up over the Christmas break |
|
Wow, you spotted that fast :D I think I'm gonna start experimenting with just |
|
Haha yeah, I was just on my phone when the email notification popped up^^ Sounds good :) |
|
Hey, I think I'll start adding the RT extensions in my forks soonish (within the next three months or so), which would require some way of specifying extensions. (:LISP-NAME "RAY-QUERY-GENERATE-INTERSECTION-EXT" :NAME "rayQueryGenerateIntersectionEXT" :RETURN "void" :ARGS (("q" "rayQueryEXT") ("tHit" "float")) :VERSIONS (:140-CORE :150-CORE :330-CORE :400-CORE :410-CORE :420-CORE :430-CORE :440-CORE :450-CORE :460-CORE) :PURE NIL :REQUIREMENTS ((:VULKAN) <extension>))where
Do you have a preference on the format?
|
switch to requirements list
|
I've now added all functions and variables defined by the |
Hey, I've added all functions, variables and types from GL_KHR_vulkan_glsl using the [spec for GLSL version 4.60(https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.html) as a reference.
I've added the properties
:opengl-onlyand:vulkan-onlyfor all functions and variables which could be useful for validation.I've also added the new texture combined sampler constructors in extra files (
texture-combined-sampler-constructors).See section 5.4.5 in the spec.
I didn't regenerate the docs though, because I wasn't sure which repository is meant by the comment in
dump.lisp:Is it this one? If so, it doesn't contain Vulkan stuff anyways.