Lines Matching refs:vscreen
70 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_param() local
83 return vscreen->caps.caps.v1.max_render_targets; in virgl_get_param()
85 return vscreen->caps.caps.v1.max_dual_source_render_targets; in virgl_get_param()
87 return vscreen->caps.caps.v1.bset.occlusion_query; in virgl_get_param()
90 return vscreen->caps.caps.v1.bset.mirror_clamp; in virgl_get_param()
94 if (vscreen->caps.caps.v2.max_texture_2d_size) in virgl_get_param()
95 return vscreen->caps.caps.v2.max_texture_2d_size; in virgl_get_param()
98 if (vscreen->caps.caps.v2.max_texture_3d_size) in virgl_get_param()
99 return 1 + util_logbase2(vscreen->caps.caps.v2.max_texture_3d_size); in virgl_get_param()
102 if (vscreen->caps.caps.v2.max_texture_cube_size) in virgl_get_param()
103 return 1 + util_logbase2(vscreen->caps.caps.v2.max_texture_cube_size); in virgl_get_param()
108 return vscreen->caps.caps.v1.bset.indep_blend_enable; in virgl_get_param()
110 return vscreen->caps.caps.v1.bset.indep_blend_func; in virgl_get_param()
116 return vscreen->caps.caps.v1.bset.fragment_coord_conventions; in virgl_get_param()
118 if (vscreen->caps.caps.v1.bset.depth_clip_disable) in virgl_get_param()
120 if (vscreen->caps.caps.v2.host_feature_check_version >= 3) in virgl_get_param()
124 return vscreen->caps.caps.v1.max_streamout_buffers; in virgl_get_param()
130 return vscreen->caps.caps.v1.bset.primitive_restart; in virgl_get_param()
132 return vscreen->caps.caps.v1.bset.shader_stencil_export; in virgl_get_param()
137 return vscreen->caps.caps.v1.bset.seamless_cube_map; in virgl_get_param()
139 return vscreen->caps.caps.v1.bset.seamless_cube_map_per_texture; in virgl_get_param()
141 return vscreen->caps.caps.v1.max_texture_array_layers; in virgl_get_param()
143 return vscreen->caps.caps.v2.min_texel_offset; in virgl_get_param()
145 return vscreen->caps.caps.v2.min_texture_gather_offset; in virgl_get_param()
147 return vscreen->caps.caps.v2.max_texel_offset; in virgl_get_param()
149 return vscreen->caps.caps.v2.max_texture_gather_offset; in virgl_get_param()
151 return vscreen->caps.caps.v1.bset.conditional_render; in virgl_get_param()
153 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_BARRIER; in virgl_get_param()
158 return vscreen->caps.caps.v1.bset.color_clamping; in virgl_get_param()
160 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FBO_MIXED_COLOR_FORMATS) || in virgl_get_param()
161 (vscreen->caps.caps.v2.host_feature_check_version < 1); in virgl_get_param()
163 return vscreen->caps.caps.v1.glsl_level; in virgl_get_param()
165 return MIN2(vscreen->caps.caps.v1.glsl_level, 140); in virgl_get_param()
170 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER; in virgl_get_param()
174 return vscreen->caps.caps.v2.uniform_buffer_offset_alignment; in virgl_get_param()
177 return vscreen->caps.caps.v1.bset.streamout_pause_resume; in virgl_get_param()
179 return vscreen->caps.caps.v1.bset.start_instance; in virgl_get_param()
195 return vscreen->caps.caps.v1.max_tbo_size > 0; in virgl_get_param()
197 return vscreen->caps.caps.v2.texture_buffer_offset_alignment; in virgl_get_param()
201 return vscreen->caps.caps.v1.bset.cube_map_array; in virgl_get_param()
203 return vscreen->caps.caps.v1.bset.texture_multisample; in virgl_get_param()
205 return vscreen->caps.caps.v1.max_viewports; in virgl_get_param()
207 return vscreen->caps.caps.v1.max_tbo_size; in virgl_get_param()
218 return vscreen->caps.caps.v2.max_geom_output_vertices; in virgl_get_param()
220 return vscreen->caps.caps.v2.max_geom_total_output_components; in virgl_get_param()
222 return vscreen->caps.caps.v1.bset.texture_query_lod; in virgl_get_param()
224 return vscreen->caps.caps.v1.max_texture_gather_components; in virgl_get_param()
226 return vscreen->caps.caps.v1.bset.has_indirect_draw; in virgl_get_param()
229 return vscreen->caps.caps.v1.bset.has_sample_shading; in virgl_get_param()
231 return vscreen->caps.caps.v1.bset.has_cull; in virgl_get_param()
233 return ((vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TRANSFORM_FEEDBACK3) || in virgl_get_param()
234 (vscreen->caps.caps.v2.host_feature_check_version < 2)) ? 4 : 1; in virgl_get_param()
236 return vscreen->caps.caps.v1.bset.conditional_render_inverted; in virgl_get_param()
238 return vscreen->caps.caps.v1.bset.derivative_control; in virgl_get_param()
240 return vscreen->caps.caps.v1.bset.polygon_offset_clamp; in virgl_get_param()
242 return vscreen->caps.caps.v1.bset.transform_feedback_overflow_query; in virgl_get_param()
244 return vscreen->caps.caps.v2.shader_buffer_offset_alignment; in virgl_get_param()
246 return vscreen->caps.caps.v1.bset.has_fp64 || in virgl_get_param()
247 (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FAKE_FP64); in virgl_get_param()
249 return vscreen->caps.caps.v2.max_shader_patch_varyings; in virgl_get_param()
251 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_VIEW; in virgl_get_param()
253 return vscreen->caps.caps.v2.max_vertex_attrib_stride; in virgl_get_param()
255 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COPY_IMAGE; in virgl_get_param()
257 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TXQS; in virgl_get_param()
259 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FB_NO_ATTACH; in virgl_get_param()
261 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_ROBUST_BUFFER_ACCESS; in virgl_get_param()
263 return (vscreen->caps.caps.v2.capability_bits & in virgl_get_param()
266 return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_BLEND_EQUATION; in virgl_get_param()
268 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SHADER_CLOCK; in virgl_get_param()
270 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TGSI_COMPONENTS; in virgl_get_param()
272 return vscreen->caps.caps.v2.max_combined_shader_buffers; in virgl_get_param()
274 return vscreen->caps.caps.v2.max_combined_atomic_counters; in virgl_get_param()
276 return vscreen->caps.caps.v2.max_combined_atomic_counter_buffers; in virgl_get_param()
281 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_QBO; in virgl_get_param()
283 if (vscreen->caps.caps.v1.glsl_level < 150) in virgl_get_param()
284 return vscreen->caps.caps.v2.max_vertex_attribs; in virgl_get_param()
289 return (vscreen->caps.caps.v1.max_samples == 1) ? 1 : 0; in virgl_get_param()
291 return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_MULTI_DRAW_INDIRECT); in virgl_get_param()
293 return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_PARAMS); in virgl_get_param()
295 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_ARB_BUFFER_STORAGE) && in virgl_get_param()
296 (vscreen->caps.caps.v2.host_feature_check_version >= 4) && in virgl_get_param()
297 vscreen->vws->supports_coherent; in virgl_get_param()
306 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_CLEAR_TEXTURE; in virgl_get_param()
308 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_CLIP_HALFZ; in virgl_get_param()
323 return vscreen->vws->supports_fences; in virgl_get_param()
325 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SRGB_WRITE_CONTROL) || in virgl_get_param()
326 (vscreen->caps.caps.v2.host_feature_check_version < 1); in virgl_get_param()
328 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_INPUT_ADDR; in virgl_get_param()
339 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_shader_param() local
342 !vscreen->caps.caps.v1.bset.has_tessellation_shaders) in virgl_get_shader_param()
346 !(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER)) in virgl_get_shader_param()
369 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_INPUT_ADDR; in virgl_get_shader_param()
371 if (vscreen->caps.caps.v1.glsl_level < 150) in virgl_get_shader_param()
372 return vscreen->caps.caps.v2.max_vertex_attribs; in virgl_get_shader_param()
374 shader == PIPE_SHADER_GEOMETRY) ? vscreen->caps.caps.v2.max_vertex_attribs : 32; in virgl_get_shader_param()
377 return vscreen->caps.caps.v1.max_render_targets; in virgl_get_shader_param()
378 return vscreen->caps.caps.v2.max_vertex_outputs; in virgl_get_shader_param()
384 return vscreen->caps.caps.v1.max_uniform_blocks; in virgl_get_shader_param()
392 return vscreen->caps.caps.v1.glsl_level >= 130; in virgl_get_shader_param()
399 return vscreen->caps.caps.v2.max_shader_buffer_frag_compute; in virgl_get_shader_param()
401 return vscreen->caps.caps.v2.max_shader_buffer_other_stages; in virgl_get_shader_param()
404 return vscreen->caps.caps.v2.max_shader_image_frag_compute; in virgl_get_shader_param()
406 return vscreen->caps.caps.v2.max_shader_image_other_stages; in virgl_get_shader_param()
410 return vscreen->caps.caps.v2.max_atomic_counters[shader]; in virgl_get_shader_param()
412 return vscreen->caps.caps.v2.max_atomic_counter_buffers[shader]; in virgl_get_shader_param()
432 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_paramf() local
435 return vscreen->caps.caps.v2.max_aliased_line_width; in virgl_get_paramf()
437 return vscreen->caps.caps.v2.max_smooth_line_width; in virgl_get_paramf()
439 return vscreen->caps.caps.v2.max_aliased_point_size; in virgl_get_paramf()
441 return vscreen->caps.caps.v2.max_smooth_point_size; in virgl_get_paramf()
445 return vscreen->caps.caps.v2.max_texture_lod_bias; in virgl_get_paramf()
462 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_compute_param() local
463 if (!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER)) in virgl_get_compute_param()
469 grid_size[0] = vscreen->caps.caps.v2.max_compute_grid_size[0]; in virgl_get_compute_param()
470 grid_size[1] = vscreen->caps.caps.v2.max_compute_grid_size[1]; in virgl_get_compute_param()
471 grid_size[2] = vscreen->caps.caps.v2.max_compute_grid_size[2]; in virgl_get_compute_param()
477 block_size[0] = vscreen->caps.caps.v2.max_compute_block_size[0]; in virgl_get_compute_param()
478 block_size[1] = vscreen->caps.caps.v2.max_compute_block_size[1]; in virgl_get_compute_param()
479 block_size[2] = vscreen->caps.caps.v2.max_compute_block_size[2]; in virgl_get_compute_param()
485 *max_threads_per_block = vscreen->caps.caps.v2.max_compute_work_group_invocations; in virgl_get_compute_param()
492 *max_local_size = vscreen->caps.caps.v2.max_compute_shared_memory_size; in virgl_get_compute_param()
517 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_has_readback_format() local
518 return has_format_bit(&vscreen->caps.caps.v2.supported_readback_formats, in virgl_has_readback_format()
526 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_is_vertex_format_supported() local
538 if (!(vscreen->caps.caps.v1.vertexbuffer.bitmask[big] & (1 << small))) in virgl_is_vertex_format_supported()
605 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_is_format_supported() local
609 union virgl_caps *caps = &vscreen->caps.caps; in virgl_is_format_supported()
612 vscreen->tweak_gles_emulate_bgra; in virgl_is_format_supported()
752 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_flush_frontbuffer() local
753 struct virgl_winsys *vws = vscreen->vws; in virgl_flush_frontbuffer()
765 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_reference() local
766 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_reference()
776 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_finish() local
777 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_finish()
785 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_get_fd() local
786 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_get_fd()
800 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_destroy_screen() local
801 struct virgl_winsys *vws = vscreen->vws; in virgl_destroy_screen()
803 slab_destroy_parent(&vscreen->transfer_pool); in virgl_destroy_screen()
807 FREE(vscreen); in virgl_destroy_screen()