ctx->Extensions.EXT_blend_equation_separate = true;
ctx->Extensions.EXT_blend_func_separate = true;
ctx->Extensions.EXT_blend_minmax = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_framebuffer_blit = true;
ctx->Extensions.EXT_framebuffer_object = true;
ctx->Extensions.EXT_framebuffer_multisample = true;
"GL_EXT_blend_color",
"GL_EXT_blend_equation_separate",
"GL_EXT_blend_minmax",
- "GL_EXT_blend_subtract",
"GL_NV_blend_square",
/* Optional GLES2 */
ctx->Extensions.ARB_texture_mirrored_repeat = true;
ctx->Extensions.EXT_blend_color = true;
ctx->Extensions.EXT_blend_minmax = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_fog_coord = true;
ctx->Extensions.EXT_framebuffer_blit = true;
ctx->Extensions.EXT_framebuffer_object = true;
ctx->Extensions.EXT_blend_color =
rmesa->radeon.radeonScreen->drmSupportsBlendColor;
ctx->Extensions.EXT_blend_minmax = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_fog_coord = true;
ctx->Extensions.EXT_packed_depth_stencil = true;
ctx->Extensions.EXT_secondary_color = true;
ctx->Extensions.EXT_blend_equation_separate = true;
ctx->Extensions.EXT_blend_func_separate = true;
ctx->Extensions.EXT_blend_minmax = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_fog_coord = true;
ctx->Extensions.EXT_gpu_program_parameters = true;
ctx->Extensions.EXT_point_parameters = true;
ctx->Extensions.EXT_blend_equation_separate = true;
ctx->Extensions.EXT_blend_func_separate = true;
ctx->Extensions.EXT_blend_minmax = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_packed_depth_stencil = true;
ctx->Extensions.EXT_fog_coord = true;
ctx->Extensions.EXT_gpu_program_parameters = true;
ctx->Extensions.ARB_texture_env_crossbar = true;
ctx->Extensions.ARB_texture_env_dot3 = true;
ctx->Extensions.ARB_texture_mirrored_repeat = true;
- ctx->Extensions.EXT_blend_subtract = true;
ctx->Extensions.EXT_fog_coord = true;
ctx->Extensions.EXT_packed_depth_stencil = true;
ctx->Extensions.EXT_secondary_color = true;
"GL_EXT_blend_color",
"GL_EXT_blend_equation_separate",
"GL_EXT_blend_minmax",
- "GL_EXT_blend_subtract",
/* Optional GLES2 */
"GL_ARB_framebuffer_object",
{
switch (mode) {
case GL_FUNC_ADD:
+ case GL_FUNC_SUBTRACT:
+ case GL_FUNC_REVERSE_SUBTRACT:
return GL_TRUE;
case GL_MIN:
case GL_MAX:
return ctx->Extensions.EXT_blend_minmax;
- case GL_FUNC_SUBTRACT:
- case GL_FUNC_REVERSE_SUBTRACT:
- return ctx->Extensions.EXT_blend_subtract;
default:
return GL_FALSE;
}
{ "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 },
{ "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 },
{ "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2, 1995 },
- { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL, 1995 },
+ { "GL_EXT_blend_subtract", o(dummy_true), GL, 1995 },
{ "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL, 1996 },
{ "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL, 1996 },
{ "GL_EXT_copy_texture", o(dummy_true), GL, 1995 },
/* OES extensions */
{ "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1, 2009 },
{ "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1, 2009 },
- { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1, 2009 },
+ { "GL_OES_blend_subtract", o(dummy_true), ES1, 2009 },
{ "GL_OES_byte_coordinates", o(dummy_true), ES1, 2002 },
{ "GL_OES_compressed_paletted_texture", o(dummy_true), ES1, 2003 },
{ "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
ctx->Extensions.EXT_depth_bounds_test = GL_TRUE;
ctx->Extensions.EXT_draw_buffers2 = GL_TRUE;
ctx->Extensions.EXT_fog_coord = GL_TRUE;
ctx->Extensions.EXT_blend_color = GL_TRUE;
ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
ctx->Extensions.EXT_fog_coord = GL_TRUE;
ctx->Extensions.EXT_point_parameters = GL_TRUE;
ctx->Extensions.EXT_secondary_color = GL_TRUE;
GLboolean EXT_blend_equation_separate;
GLboolean EXT_blend_func_separate;
GLboolean EXT_blend_minmax;
- GLboolean EXT_blend_subtract;
GLboolean EXT_clip_volume_hint;
GLboolean EXT_compiled_vertex_array;
GLboolean EXT_depth_bounds_test;
ctx->Extensions.EXT_blend_color &&
ctx->Extensions.EXT_blend_func_separate &&
ctx->Extensions.EXT_blend_minmax &&
- ctx->Extensions.EXT_blend_subtract &&
ctx->Extensions.EXT_fog_coord &&
ctx->Extensions.EXT_point_parameters &&
ctx->Extensions.EXT_secondary_color);
ctx->Extensions.EXT_blend_color &&
ctx->Extensions.EXT_blend_func_separate &&
ctx->Extensions.EXT_blend_minmax &&
- ctx->Extensions.EXT_blend_subtract &&
ctx->Extensions.ARB_shader_objects &&
ctx->Extensions.ARB_vertex_shader &&
ctx->Extensions.ARB_fragment_shader &&
ctx->Extensions.EXT_blend_color = GL_TRUE;
ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;