Hey
Drivers after Adrenalin Edition 22.5.1 have issues with glEdgeFlagPointer.
Adrenalin Edition 22.5.1 works fine.
Tested drivers from Adrenalin Edition 22.5.1 to 22.11.2
Running on RX 6800XT graphics card.
Sample code
#include <tchar.h>
#include "Source\glut\include\gl\glut.h"
GLdouble aVertices[]=
{
-0.6, -0.75, 0.5,
0.6, -0.75, 0,
0, 0.75, 0,
};
GLboolean aEdge[] =
{
GL_TRUE, GL_FALSE, GL_TRUE
};
static bool flip = false;
// Clears the current window and draws a triangle.
void display_arrays() {
// Set every pixel in the frame buffer to the current clear color.
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0, 0, 1);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_EDGE_FLAG_ARRAY);
glEdgeFlagPointer (0, &aEdge);
glVertexPointer (3, GL_DOUBLE , sizeof(GLdouble) * 3, &aVertices);
glDrawArrays (GL_TRIANGLES, 0, 3);
glDisableClientState(GL_EDGE_FLAG_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
glFlush();
}
// Clears the current window and draws a triangle.
void display_Basic() {
// Set every pixel in the frame buffer to the current clear color.
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0, 1, 0);
glBegin(GL_POLYGON);
glEdgeFlag (true);
glVertex3f(-0.6, -0.75, 0.5);
glEdgeFlag (false);
glVertex3f(0.6, -0.75, 0);
glEdgeFlag (true);
glVertex3f(0, 0.75, 0);
glEnd();
// Flush drawing command buffer to make drawing happen as soon as possible.
glFlush();
}
//----
int _tmain(int argc, _TCHAR* argv[])
{
// Use a single buffered window in RGB mode (as opposed to a double-buffered
// window or color-index mode).
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
// Position window at (80,80)-(480,380) and give it a title.
glutInitWindowPosition(80, 80);
glutInitWindowSize(400, 300);
glutCreateWindow("Triangle with glEdgeFlagPointer/glEdge");
// Tell GLUT that whenever the main window needs to be repainted that it
// should call the function display().
glutDisplayFunc(display_arrays);
// glutDisplayFunc(display_Basic);
// Tell GLUT to start reading and processing events. This function
// never returns; the program only exits when the user closes the main
// window or kills the process.
glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
glutMainLoop();
}
Display display_Basic() with glEdgeFlag works fine and creates this image:
Display display_arrays() with glEdgeFlagPointer produces nothing:
Best Regard
Allan
Hi Allan,
Thank you for reporting it and providing the reproducible code. I have whitelisted you and moved the post to the OpenGL forum. I will report the issue to the OpenGL team.
Thanks.
Just to let you know, a bug ticket has been created to track this issue.
Thanks.
It is still not working with driver version 23.2.1.
Adrenalin Edition 22.5.1 is the lasts working version.
☹️
Any progress on this issue ?
I will check with the OpenGL team and let you know if I get any update on this.
Thanks.
As I have been informed, the OpenGL team has already investigated the issue and identified the root-cause of it. They are working on fixing this issue.
Thanks.
Any time frame on fixing the issue ?
Hi @peal ,
As I can see from the related bug ticket, the issue has been fixed internally. The fix will soon be promoted to the mainline driver.
Thanks.
Hi @peal ,
Could you please check the above issue with the latest driver (Adrenalin 23.7.1 ) and let us know if it has been fixed?
Thanks.
I have tested with 23.7.1, and it is not working 😞, thanks for asking.
Thanks for testing it and sharing your observation. I will pass on this information to the OpenGL team.
Thanks.
Hi @peal ,
As I have been informed, the fix is not available in Adrenalin 23.7.1, hence the sample code is still not working. The fix is expected to be released soon.
Thanks.
It is solved in version 23.7.2 Thanks.
Thanks for the confirmation.