-
Notifications
You must be signed in to change notification settings - Fork 16
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
GL_INVALID_OPERATION #423
GL_INVALID_OPERATION #423
Conversation
AtmosphereParameters GetAtmosphere() { | ||
DensityProfileLayer densityProfileLayer0 = {0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; | ||
DensityProfileLayer densityProfileLayer1 = {0.000000, 1.000000, -0.125000, 0.000000, 0.000000}; | ||
DensityProfile densityProfile1; | ||
densityProfile1.layers[0] = densityProfileLayer0; | ||
densityProfile1.layers[1] = densityProfileLayer1; | ||
|
||
DensityProfileLayer densityProfileLayer2 = {0.000000, 0.000000, 0.000000, 0.000000, 0.000000}; | ||
DensityProfileLayer densityProfileLayer3 = {0.000000, 1.000000, -0.833333, 0.000000, 0.00000}; | ||
DensityProfile densityProfile2; | ||
densityProfile2.layers[0] = densityProfileLayer2; | ||
densityProfile2.layers[1] = densityProfileLayer3; | ||
|
||
DensityProfileLayer densityProfileLayer4 = {25.000000, 0.000000, 0.000000, 0.066667, -0.666667}; | ||
DensityProfileLayer densityProfileLayer5 = {0.000000, 0.000000, 0.000000, -0.066667, 2.666667}; | ||
DensityProfile densityProfile3; | ||
densityProfile3.layers[0] = densityProfileLayer4; | ||
densityProfile3.layers[1] = densityProfileLayer5; | ||
|
||
AtmosphereParameters atmosphere = { | ||
vec3(10.000000, 10.000000, 10.000000), | ||
0.004675, | ||
6360.000000, | ||
6420.000000, | ||
densityProfile1, | ||
vec3(0.005802, 0.013558, 0.033100), | ||
densityProfile2, | ||
vec3(0.003996, 0.003996, 0.003996), | ||
vec3(0.004440, 0.004440, 0.004440), | ||
0.900000, | ||
densityProfile3, | ||
vec3(0.000650, 0.001881, 0.000085), | ||
vec3(0.100000, 0.100000, 0.100000), | ||
-0.207912}; | ||
|
||
return atmosphere; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make it static.
This comment was marked as resolved.
This comment was marked as resolved.
@@ -546,6 +546,8 @@ void EditorApp::EngineRenderersWarmup() | |||
|
|||
bool EditorApp::IsAtmosphericScatteringEnable() const |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can remove this function if all fixed.
@@ -9,7 +9,7 @@ int main() | |||
pEngine->Init({ .pTitle = "CatDogEditor", .pIconFilePath = "editor_icon.png", | |||
.width = 1280, .height = 720, .useFullScreen = false, | |||
.language = Language::ChineseSimplied, | |||
.backend = GraphicsBackend::Direct3D11, .compileAllShaders = false }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
revert.
https://stackoverflow.com/questions/72514919/max-image-units-in-glsl It does look like OpenGL's limit of the number of image uniforms is 8, but that makes it even stranger, since none of the slots in the compute shader at the time of this crash were greater than 7. |
The min number is 8. New graphics card can use 16~32. |
See https://github.com/godotengine/godot/blob/f82bf35a03502b33e0b3a5987573e3c6987912ce/drivers/gles3/rasterizer_scene_gles3.cpp#L2474. So we can have a look at bgfx if it supports similar operations? Dynamic texture slot index rather than fixed index. Another question is that FS uses more than actual hardware texture count. It doesn't have a good solution. Just decided by game project which is the lowest device it wants to support. Then project should enable/disable features for every device level. |
Close it as we have enough findings about this issue. The solution is recorded in #425. Reopen it if you have new thoughts. |
Crash when compute shader dispatch.
Some outputs that might be useful: