-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Vulkan functions, types and variables #9
base: master
Are you sure you want to change the base?
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-only
and:vulkan-only
for 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.