Comments (8)
Im using Ubuntu 18.04. With VK_IMAGE_TILING_OPTIMAL I get following:
from vkvg.
from vkvg.
Depending on your hardware, this combination doesn't seem to be accepted. I have let the tiling of the single sampled backend texture to linear to be able to load bitmap with few operations. I'll consider setting it to optimal (better for performances) and modify my bitmap loading.
Maybe I'll have also to test more precisely the accepted combinations of options (which vary among hardwares).
The validation error comes from the source uniform (Sampler2D) used in the main shader which is used only for surface painting, when painting with solid color or gradient, it's not binded. The options to solve this is either bind a dummy texture when source is unused or duplicate the main shader (but it would duplicate also the pipelines).
Thanks for your report.
from vkvg.
Hardware: Nvidia GTX 980, driver v390.48
from vkvg.
After several tests with Optimal tiling for the single sample backend img, the conclusion is that there is some other reasons for me to have kept it in linear tiling. (In fact, I had already implemented loading and saving with staging buffers)
Copy operations with optimal tiling has some constrains tied to what's called image transfer granularity, that causes on screen output and saving to png to fail with certain surface dimensions. Using square sizing and power of 2 dimensions ensure success, but vkvg should be able to handle random sizing for surfaces.
I've tried also to test vkGetPhysicalDeviceImageFormatProperties2
but it sigsev, I'll test with other drivers and gpu.
What is your OS? is it windows? Did you get something on screen when running test? if not, try engine and surface size to 512x512 and Optimal tiling.
I'll try to test what could be achieve with transfer granularity...
from vkvg.
Using VK_IMAGE_TILING_LINEAR
fails on MoltenVK on macOS too. Works fine with VK_IMAGE_TILING_OPTIMAL
. Is there any reason not to use VK_IMAGE_TILING_OPTIMAL
always?
from vkvg.
I should add a complete supported image format check at device creation. It depends on hardware and driver implementation.
VK_IMAGE_TILING_OPTIMAL add sometimes some texture size constraints, and vkvg surface should be able to handle any size.
from vkvg.
Dynamic selection of tiling has been implemented, don't hesitate to give feedback.
from vkvg.
Related Issues (20)
- gradient alpha channel ignored HOT 2
- Segfaults in surface test HOT 1
- Build deb for Debian / Ubuntu HOT 2
- Premult Alpha handling for image load/write
- Special objects with VKVG_STATUS_NO_MEMORY instead of NULL pointer.
- TimeLine semaphore HOT 2
- Issue with getting glyphs info HOT 26
- Implementing Unit Testing with Meson
- Tests crash and other related bugs and Validation errors: HOT 11
- Having trouble using vkh.h HOT 1
- M_PI undeclared HOT 2
- tests/bezier screen not clear on each frame HOT 3
- Cannot build tests on linux with static GLFW HOT 3
- Multi-window support? HOT 3
- crash when i use multithreaded to draw text HOT 5
- i want to remove the font lock HOT 1
- Vulkan validator prints error on fragment compilation (vkCreateShaderModule) HOT 8
- Failed to build on MSYS2 MINGW64 HOT 3
- logicOp not supported on MoltenVK / M2 Mini HOT 3
- vkvg api to query vulkan context creation requirements
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 vkvg.