- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Don't really know where to ask, so I'm asking here.
I have this strange issue with OpenGL, the output from fragment shader is different when application is built for 64bit Windows, and when it is built 32bit.
I have framebuffer backed by textures with two color attachments
In fragment shader I do something like this:
==========================================================
# version 330 core
layout(location = 0) out vec4 p_color;
layout(location = 1) out vec4 x_info;
...
uniform int i_id;
void main() {
p_color = vec4(1.0);
x_info = vec4(0.0, 0.0, 0.0, intBitsToFloat(i_id));
}
==========================================================
i_id is such that casting it to float is a NaN
and in application I read second color attachment with OGL.GetTexImage(OGL.TEXTURE_2D, 0, OGL.RGBA, OGL._FLOAT, buf_ptr);
the problem is that in 64bit version the output is correct (as I wanted it to be), and in 32bit output values are set to 0xFFC00000 (so they are converted to floating point indefinite)
and question here, does any one else has this problem? How to fix it, so the output in 32 is the same as in 64? Is it a driver bug?
I'm running it on HP ProBook with
Intel(R) HD Graphics 620
OpenGL 4.4.0 - Build 21.20.16.4541
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. your graphics driver is out-of-date
check out https://downloadcenter.intel.com/product/96551/Intel-HD-Graphics-620 Downloads for Intel® HD Graphics 620
2. there is a dedicated developer forum at https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel Developing Games & Graphics on Intel
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page