Comments (2)
I'm on the fence with this problem.
On one hand, I agree the proposed solution introduces useful type safety and other benefits stemming from the fact C is no more.
On the other hand, the ask here really seems to be to drop any locations in Anvil where programmers need to pass raw Vulkan structure and enums, and instead have them pass Anvil-specific type-safe values. Is my understanding correct?
Admittedly, oldschool C enums that are still used in some areas of Anvil are a pain and a source of endless bugs, and we should move to fixed-type enums instead. The migration has actually happened some time ago but the pace has been mediocre, to say the least. Getting this resolved is on my TODO list.
Are there any other things in Anvil you're finding too C-like, which - when addressed - would improve your user experience? Thanks.
from anvil.
Type safety is now enforced in Anvil.
from anvil.
Related Issues (20)
- Why can't the user recreate swapchains?
- Suggestion: Add CMake option to use SDK location for glslang library HOT 2
- BaseDevice::is_extension_enabled does not work with instance extensions?
- VK_ERROR_EXTENSION_NOT_PRESENT error if device group extension is not supported by GPU HOT 2
- Not building on ubuntu 18.10 HOT 3
- Unhandled VK_ERROR_OUT_OF_DATE_KHR when Anvil-based program with window is minimized with Nvidia drivers HOT 3
- Queue::submit with blocking-flag set does not guarantee command buffer completion? HOT 1
- Assertion failure when using specialization constants HOT 1
- Assertion failure in BaseDevice::init with a Radeon R9 Fury HOT 1
- GCC 8+ does not compile successfully. (-Werror=class-memaccess) HOT 5
- Crash when submitting queue on Nvidia GPUs HOT 2
- Why is HLSL support turned off if ANVIL_LINK_WITH_GLSLANG flag is set? HOT 1
- record_bind_pipeline(..., PipelineID) is a O(logn) function, n count of pipelines. A faster alternative might should be added.
- QueryPool::get_query_pool_results calculates query size incorrectly
- Concerning wstring-to-string conversion in WIN32 implementation HOT 1
- Unusable with NVidia HOT 1
- get_image_format_properties uses stencil usage flags of 0, which is not allowed
- Error compiling with GCC 9 on Linux HOT 1
- Error Compiling with VS CMake HOT 2
- Is there any future roadmap? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anvil.