Comments (11)
Running the MRP prints the following error:
ERROR: GL ERROR: Source: OpenGL Type: Error ID: 1 Severity: High Message: GL_INVALID_ENUM in glCompressedTexImage2D(target=GL_TEXTURE_2D_ARRAY) at: _gl_debug_print (drivers/gles3/rasterizer_gles3.cpp:181)
This would be good for someone to investigate with a little bit of OpenGL knowledge. We should be using
glCompressedTexImage3D()
for TextureArrays
@clayjohn @luciusponto
The problem I found is in the texture_storage.cpp, around line 1505
glCompressedTexImage2D(blit_target, i, internal_format, bw, bh, 0, size, &read[ofs]);
This line of code should be modified similarly with the code below
if (p_initialize) {
glTexImage3D(GL_TEXTURE_2D_ARRAY, i, internal_format, w, h, texture->layers, 0, format, type, nullptr);
}
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, i, 0, 0, p_layer, w, h, 1, format, type, &read[ofs]);
Because the glCompressedTexImage3D can work with the GL_TEXTURE_2D_ARRAY, but glCompressedTexImage2D cannot work with that.
This is the code I modified
The Issue I face now is that when calling the function, it will give me an error that the Image size is invalid.
from godot.
Running the MRP prints the following error:
ERROR: GL ERROR: Source: OpenGL Type: Error ID: 1 Severity: High Message: GL_INVALID_ENUM in glCompressedTexImage2D(target=GL_TEXTURE_2D_ARRAY)
at: _gl_debug_print (drivers/gles3/rasterizer_gles3.cpp:181)
This would be good for someone to investigate with a little bit of OpenGL knowledge. We should be using glCompressedTexImage3D()
for TextureArrays
from godot.
I am investigating this issue now, but I am new to the community.
The problem I am facing now is that I couldn't get the IDE print this Error message,
ERROR: GL ERROR: Source: OpenGL Type: Error ID: 1 Severity: High Message: GL_INVALID_ENUM in glCompressedTexImage2D(target=GL_TEXTURE_2D_ARRAY)
at: _gl_debug_print (drivers/gles3/rasterizer_gles3.cpp:181)
Would anyone mind helping me on how to enter this section of code?
Already set the project properly in Visual Studio, and breakpoint works in the main.cpp, but the breakpoints do not work in the rasterizer_gles3.cpp section.
from godot.
@CuptainTeamo Hi. I'm also somewhat new to Godot. I didn't know about the message until I read clayjohn's comment above. I found out just now that if I go into Project Settings/General/Debug/Settings and check verbose_stdout, then the message shows when I run the project.
from godot.
prepared draft MR to share progress. need more time to investigate. current solution breaks forward renderer. #91508
nevermind, just had to refresh image to reload image correctly in other profile.
so fix works for all profiles. However, question:
- shouldnt it automatically reload images on profile switch??? there is a visual hint to reload image, but maybe autoreload would be a nice feature?
- unit test would be a boon?
from godot.
@semensanyok Hi, does this fix work for you? I tried to follow your changes to modify this
case FORMAT_BPTC_RGBA:
return 4; //btpc bc6h
Does it fix everything for you? Not working well for me, I am trying to figure out which part I get wrong.
from godot.
@semensanyok Hi, does this fix work for you? I tried to follow your changes to modify this
case FORMAT_BPTC_RGBA: return 4; //btpc bc6h
Does it fix everything for you? Not working well for me, I am trying to figure out which part I get wrong.
there is also diff in drivers/gles3/storage/texture_storage.cpp in my PR (#91508), did you miss it by any chance? its not like your's
answering your question - yes it does, and switching layer in shader works for all profiles, loading all 4 layers for 4 textures correctly.
nope looks like its not fixed, cached version, keep looking. forward is broken currently by this draft
P.S. its wrong, 1 is correct value, forget this diff
from godot.
After modifying the code as you showed in your branch. I encounter this error when opening the demo project.
Do you have the same issue?
And the basis universal format is fixed, but the VRAM compressed is becoming to white.
from godot.
@CuptainTeamo forget my current PR, its completely wrong. I'm preparing new solution. I will push it ASAP.
from godot.
@CuptainTeamo @clayjohn fixed, review #91853 please
from godot.
Hi. I tested the changes in the PR above with the min repro project and it seems to work well now, both in Compatibility and Forward+.
from godot.
Related Issues (20)
- Opening any Object While Encountering any Error in The Debugger Will Crash The Editor! HOT 3
- Accessing an invalid index does not cause a bug
- Failed loading Mesh ressource after updating to 4.3 beta1 HOT 2
- Spurious "BUG: Unreferenced static string to 0"- errors when generating script tests HOT 2
- When instancing nodes in runtime, nodes with unique names on @onready are null. HOT 10
- Light2D's Mix blend mode with shadows leaves black lines in occluded room with more lights
- Wrong error line indicator position of Static typed for loop HOT 1
- TileMapLayer doesn't have an option to sort tiles horizontally HOT 7
- Save and Exit not working if Settings in Editor Behaviour changed.
- `AnimationPlayer` preview in editor conflicts with ability to set the default `texture` for `Sprite3D`
- How can i know the error in godot 3 on mobile? HOT 2
- Nodes in the "Remote" window do not match the node name HOT 13
- Frame rate halved when VSYNC is turned off during runtime and Nvidia low latency mode is ultra. HOT 2
- Exported packed arrays with default values reset with every script change
- `Area2D` detects a `CollisionObject2D` again if the latter is already in the area, when the `shape` or `disabled` of the latter's `CollisionShape2D` gets changed HOT 5
- AnimationPlayer/AnimationTree high process large framedrops HOT 2
- Godot's file dialog freezes when creating a script file HOT 1
- Hot Reload broken in Godot 4.3 beta 1 HOT 4
- Polygon2D isn't filled completely using a Gradient texture HOT 1
- GPUParticle2D jitter, while rotating the Parent, when Physics Interpolation is true Godot 4.3 beta 1 HOT 2
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 godot.