glamor: add gl_PointSize for ES shaders
GLES3.2 spec, page 126: > The variable gl_PointSize is intended for a shader to write > the size of the point to be rasterized. It is measured in pixels. > If gl_PointSize is not written to, its value > is undefined in subsequent pipe stages. If glamor shader is use points, we should define gl_PointSize for GLES. On Desktop GL, it "just work" due to default gl_PointSize is 1. As @anholt requested, define this only for minimal amount of shaders (point and glyphbit ones), to make sure than performance will not affected Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Konstantin <ria.freelander@gmail.com>
This commit is contained in:
		
							parent
							
								
									baaddf47d5
								
							
						
					
					
						commit
						f273c960c1
					
				| 
						 | 
					@ -34,6 +34,7 @@ static const glamor_facet glamor_facet_poly_glyph_blt = {
 | 
				
			||||||
    .name = "poly_glyph_blt",
 | 
					    .name = "poly_glyph_blt",
 | 
				
			||||||
    .vs_vars = "attribute vec2 primitive;\n",
 | 
					    .vs_vars = "attribute vec2 primitive;\n",
 | 
				
			||||||
    .vs_exec = ("       vec2 pos = vec2(0,0);\n"
 | 
					    .vs_exec = ("       vec2 pos = vec2(0,0);\n"
 | 
				
			||||||
 | 
					                GLAMOR_DEFAULT_POINT_SIZE
 | 
				
			||||||
                GLAMOR_POS(gl_Position, primitive)),
 | 
					                GLAMOR_POS(gl_Position, primitive)),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,8 @@
 | 
				
			||||||
static const glamor_facet glamor_facet_point = {
 | 
					static const glamor_facet glamor_facet_point = {
 | 
				
			||||||
    .name = "poly_point",
 | 
					    .name = "poly_point",
 | 
				
			||||||
    .vs_vars = "attribute vec2 primitive;\n",
 | 
					    .vs_vars = "attribute vec2 primitive;\n",
 | 
				
			||||||
    .vs_exec = GLAMOR_POS(gl_Position, primitive),
 | 
					    .vs_exec = (GLAMOR_DEFAULT_POINT_SIZE
 | 
				
			||||||
 | 
					                GLAMOR_POS(gl_Position, primitive)),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static Bool
 | 
					static Bool
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,6 +49,11 @@
 | 
				
			||||||
    "precision mediump float;\n"  \
 | 
					    "precision mediump float;\n"  \
 | 
				
			||||||
    "#endif\n"
 | 
					    "#endif\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GLAMOR_DEFAULT_POINT_SIZE  \
 | 
				
			||||||
 | 
					    "#ifdef GL_ES\n"              \
 | 
				
			||||||
 | 
					    "       gl_PointSize = 1.0;\n"  \
 | 
				
			||||||
 | 
					    "#endif\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glyphstr.h"
 | 
					#include "glyphstr.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glamor_debug.h"
 | 
					#include "glamor_debug.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue