@ -229,27 +229,27 @@ struct dump_ctx {
} ;
} ;
static const struct vrend_shader_table shader_req_table [ ] = {
static const struct vrend_shader_table shader_req_table [ ] = {
{ SHADER_REQ_SAMPLER_RECT , " GL_ ARB_texture_rectangle" } ,
{ SHADER_REQ_SAMPLER_RECT , " ARB_texture_rectangle " } ,
{ SHADER_REQ_CUBE_ARRAY , " GL_ ARB_texture_cube_map_array" } ,
{ SHADER_REQ_CUBE_ARRAY , " ARB_texture_cube_map_array " } ,
{ SHADER_REQ_INTS , " GL_ ARB_shader_bit_encoding" } ,
{ SHADER_REQ_INTS , " ARB_shader_bit_encoding " } ,
{ SHADER_REQ_SAMPLER_MS , " GL_ ARB_texture_multisample" } ,
{ SHADER_REQ_SAMPLER_MS , " ARB_texture_multisample " } ,
{ SHADER_REQ_INSTANCE_ID , " GL_ ARB_draw_instanced" } ,
{ SHADER_REQ_INSTANCE_ID , " ARB_draw_instanced " } ,
{ SHADER_REQ_LODQ , " GL_ ARB_texture_query_lod" } ,
{ SHADER_REQ_LODQ , " ARB_texture_query_lod " } ,
{ SHADER_REQ_TXQ_LEVELS , " GL_ ARB_texture_query_levels" } ,
{ SHADER_REQ_TXQ_LEVELS , " ARB_texture_query_levels " } ,
{ SHADER_REQ_TG4 , " GL_ ARB_texture_gather" } ,
{ SHADER_REQ_TG4 , " ARB_texture_gather " } ,
{ SHADER_REQ_VIEWPORT_IDX , " GL_ ARB_viewport_array" } ,
{ SHADER_REQ_VIEWPORT_IDX , " ARB_viewport_array " } ,
{ SHADER_REQ_STENCIL_EXPORT , " GL_ ARB_shader_stencil_export" } ,
{ SHADER_REQ_STENCIL_EXPORT , " ARB_shader_stencil_export " } ,
{ SHADER_REQ_LAYER , " GL_ ARB_fragment_layer_viewport" } ,
{ SHADER_REQ_LAYER , " ARB_fragment_layer_viewport " } ,
{ SHADER_REQ_SAMPLE_SHADING , " GL_ ARB_sample_shading" } ,
{ SHADER_REQ_SAMPLE_SHADING , " ARB_sample_shading " } ,
{ SHADER_REQ_GPU_SHADER5 , " GL_ ARB_gpu_shader5" } ,
{ SHADER_REQ_GPU_SHADER5 , " ARB_gpu_shader5 " } ,
{ SHADER_REQ_DERIVATIVE_CONTROL , " GL_ ARB_derivative_control" } ,
{ SHADER_REQ_DERIVATIVE_CONTROL , " ARB_derivative_control " } ,
{ SHADER_REQ_FP64 , " GL_ ARB_gpu_shader_fp64" } ,
{ SHADER_REQ_FP64 , " ARB_gpu_shader_fp64 " } ,
{ SHADER_REQ_IMAGE_LOAD_STORE , " GL_ ARB_shader_image_load_store" } ,
{ SHADER_REQ_IMAGE_LOAD_STORE , " ARB_shader_image_load_store " } ,
{ SHADER_REQ_ES31_COMPAT , " GL_ ARB_ES3_1_compatibility" } ,
{ SHADER_REQ_ES31_COMPAT , " ARB_ES3_1_compatibility " } ,
{ SHADER_REQ_IMAGE_SIZE , " GL_ ARB_shader_image_size" } ,
{ SHADER_REQ_IMAGE_SIZE , " ARB_shader_image_size " } ,
{ SHADER_REQ_TXQS , " GL_ ARB_shader_texture_image_samples" } ,
{ SHADER_REQ_TXQS , " ARB_shader_texture_image_samples " } ,
{ SHADER_REQ_FBFETCH , " GL_ EXT_shader_framebuffer_fetch" } ,
{ SHADER_REQ_FBFETCH , " EXT_shader_framebuffer_fetch " } ,
{ SHADER_REQ_SHADER_CLOCK , " GL_ ARB_shader_clock" } ,
{ SHADER_REQ_SHADER_CLOCK , " ARB_shader_clock " } ,
} ;
} ;
enum vrend_type_qualifier {
enum vrend_type_qualifier {
@ -4190,7 +4190,7 @@ static char *emit_header(struct dump_ctx *ctx, char *glsl_hdr)
continue ;
continue ;
if ( ctx - > shader_req_bits & shader_req_table [ i ] . key ) {
if ( ctx - > shader_req_bits & shader_req_table [ i ] . key ) {
snprintf ( buf , 128 , " #extension %s : require \n " , shader_req_table [ i ] . string ) ;
snprintf ( buf , 128 , " #extension GL_ %s : require \n " , shader_req_table [ i ] . string ) ;
STRCAT_WITH_RET ( glsl_hdr , buf ) ;
STRCAT_WITH_RET ( glsl_hdr , buf ) ;
}
}
}
}