Comments (6)
The fix appears to be in shaderc.cpp, where the logic to append precision should exist much further down
from bgfx.
Provide shader source that has this issue.
from bgfx.
Any shader that uses dFdx or dFdy, for example you could try adding something like this to one of the shaders:
float textureMipLevel( sampler2D tex, vec2 uv )
{
// Estimate using OpenGL spec: http://www.opengl.org/registry/doc/glspec42.core.20120427.pdf
vec2 texel = vec2( textureSize( tex, 0 ).xy ) * uv;
vec2 dx_vtc = dFdx( texel );
vec2 dy_vtc = dFdy( texel );
float delta_max_sqr = max( dot( dx_vtc, dx_vtc ), dot( dy_vtc, dy_vtc ) );
return 0.5 * log2( delta_max_sqr );
}
But there isn't much need, the issue starts at line 2373 of shaderc.cpp, where precision is injected before many other extensions. The same problems would occur with GL_EXT_shader_texture_lod, GL_OES_texture_3D and so on.
from bgfx.
See example 42-bunny...
Type make TARGET=4 rebuild
, and there is no issue.
from bgfx.
Did you use target profile 310_es or 320_es? It won’t occur for 100_es due to the logic surrounding precision injection in shaderc.cpp
from bgfx.
Target 4 will build glsl, for android gles it is:
make TARGET=3
And the parameter to shaderc would need to be -p 300_es, so in my makefile I have something like:
ifeq ($(TARGET), 3)
VS_FLAGS=--platform android -p 300_es
FS_FLAGS=--platform android -p 300_es
CS_FLAGS=--platform android -p 300_es
SHADER_PATH=shaders/essl
Which should be fine since the default for BGFX_CONFIG_RENDERER_OPENGLES_MIN_VERSION is 30.
from bgfx.
Related Issues (20)
- Metal: example-01-helloworld corrupted render when MSAA is enabled HOT 2
- Shifted window buffer location when resizing a window HOT 1
- Vulkan Backend - incorrect mipmap generation for cubemap frame buffers. HOT 4
- Unable to build bgfx for iOS Simulator x86_64 arch HOT 4
- Vulkan on Android: the frame isn't updating (ONLY THE FIRST FRAME IS RENDERED) HOT 4
- Screenshot taken always from the main window backbuffer on MacOS/Metal
- Index buffer offset not being set with dynamic index buffer and indirect call HOT 25
- gl_NumWorkGroups doesn't compile when the target is DirectX HOT 1
- Feature request: Support FSR 3 instead of FSR 1
- Allow one executable to run with Vulkan on Wayland and X11 HOT 1
- BX and BGFX do not support the conformant MSVC preprocessor HOT 12
- Examples crash on startup on Ubuntu 22.04 HOT 7
- A D3D11 debuglayer warning in 00-helloworld example project.
- setViewMode sequential mode seems to be broken HOT 2
- bgfx:blit on texture arrays does not handle layers past the first one consistently
- [vulkan] Synchronization issue: vkAcquireNextImage uses a semaphore which is in use. HOT 4
- [vulkan] example-07-callback does not work well with a tiling wm.
- Dxgi::shutdown() asserts on 4 GPUs host
- Example 08-update: Non 1x1 texel block size ImageFormats get copied incorrectly from buffer to image in Vulkan. HOT 2
- Metal renderer compiler error in XCode version 15.0 and 15.1 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 bgfx.