if (global_flags.ten_bit_output) {
frag_shader +=
" gray.r = gray.r * ((940.0-16.0)/65535.0) + 16.0/65535.0; \n" // Limited-range Y'CbCr.
if (global_flags.ten_bit_output) {
frag_shader +=
" gray.r = gray.r * ((940.0-16.0)/65535.0) + 16.0/65535.0; \n" // Limited-range Y'CbCr.
" CbCr = vec4(512.0/65535.0, 512.0/65535.0, 0.0, 1.0); \n";
} else {
frag_shader +=
" gray.r = gray.r * ((235.0-16.0)/255.0) + 16.0/255.0; \n" // Limited-range Y'CbCr.
" CbCr = vec4(512.0/65535.0, 512.0/65535.0, 0.0, 1.0); \n";
} else {
frag_shader +=
" gray.r = gray.r * ((235.0-16.0)/255.0) + 16.0/255.0; \n" // Limited-range Y'CbCr.
" CbCr = vec4(128.0/255.0, 128.0/255.0, 0.0, 1.0); \n";
}
" CbCr = vec4(128.0/255.0, 128.0/255.0, 0.0, 1.0); \n";
}
vector<string> frag_shader_outputs;
program_num = resource_pool->compile_glsl_program(vert_shader, frag_shader, frag_shader_outputs);
vector<string> frag_shader_outputs;
program_num = resource_pool->compile_glsl_program(vert_shader, frag_shader, frag_shader_outputs);