return 0;
}
-static const nir_shader_compiler_options svga_compiler_options = {
+static const nir_shader_compiler_options svga_vgpu9_compiler_options = {
+ .lower_bitops = true,
+ .lower_extract_byte = true,
+ .lower_extract_word = true,
+ .lower_insert_byte = true,
+ .lower_insert_word = true,
+ .lower_fdph = true,
+ .lower_flrp64 = true,
+ .lower_rotate = true,
+ .lower_uniforms_to_ubo = true,
+ .lower_vector_cmp = true,
+
+ .max_unroll_iterations = 32,
+ .use_interpolated_input_intrinsics = true,
+};
+
+static const nir_shader_compiler_options svga_vgpu10_compiler_options = {
.lower_extract_byte = true,
.lower_extract_word = true,
.lower_insert_byte = true,
enum pipe_shader_ir ir,
enum pipe_shader_type shader)
{
+ struct svga_screen *svgascreen = svga_screen(pscreen);
+ struct svga_winsys_screen *sws = svgascreen->sws;
+
assert(ir == PIPE_SHADER_IR_NIR);
- return &svga_compiler_options;
+ if (sws->have_vgpu10)
+ return &svga_vgpu10_compiler_options;
+ else
+ return &svga_vgpu9_compiler_options;
}
static int