• Home
  • Raw
  • Download

Lines Matching refs:vscreen

70    struct virgl_screen *vscreen = virgl_screen(screen);  in virgl_get_name()  local
71 if (vscreen->caps.caps.v2.host_feature_check_version >= 5) in virgl_get_name()
72 return vscreen->caps.caps.v2.renderer; in virgl_get_name()
80 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_param() local
88 return vscreen->caps.caps.v2.max_anisotropy > 1.0; in virgl_get_param()
92 return vscreen->caps.caps.v1.max_render_targets; in virgl_get_param()
94 return vscreen->caps.caps.v1.max_dual_source_render_targets; in virgl_get_param()
96 return vscreen->caps.caps.v1.bset.occlusion_query; in virgl_get_param()
99 return vscreen->caps.caps.v1.bset.mirror_clamp; in virgl_get_param()
103 if (vscreen->caps.caps.v2.max_texture_2d_size) in virgl_get_param()
104 return vscreen->caps.caps.v2.max_texture_2d_size; in virgl_get_param()
107 if (vscreen->caps.caps.v2.max_texture_3d_size) in virgl_get_param()
108 return 1 + util_logbase2(vscreen->caps.caps.v2.max_texture_3d_size); in virgl_get_param()
111 if (vscreen->caps.caps.v2.max_texture_cube_size) in virgl_get_param()
112 return 1 + util_logbase2(vscreen->caps.caps.v2.max_texture_cube_size); in virgl_get_param()
117 return vscreen->caps.caps.v1.bset.indep_blend_enable; in virgl_get_param()
119 return vscreen->caps.caps.v1.bset.indep_blend_func; in virgl_get_param()
125 return vscreen->caps.caps.v1.bset.fragment_coord_conventions; in virgl_get_param()
127 if (vscreen->caps.caps.v1.bset.depth_clip_disable) in virgl_get_param()
131 return vscreen->caps.caps.v1.max_streamout_buffers; in virgl_get_param()
141 return vscreen->caps.caps.v1.bset.primitive_restart; in virgl_get_param()
143 return vscreen->caps.caps.v1.bset.shader_stencil_export; in virgl_get_param()
148 return vscreen->caps.caps.v1.bset.seamless_cube_map; in virgl_get_param()
150 return vscreen->caps.caps.v1.bset.seamless_cube_map_per_texture; in virgl_get_param()
152 return vscreen->caps.caps.v1.max_texture_array_layers; in virgl_get_param()
154 return vscreen->caps.caps.v2.min_texel_offset; in virgl_get_param()
156 return vscreen->caps.caps.v2.min_texture_gather_offset; in virgl_get_param()
158 return vscreen->caps.caps.v2.max_texel_offset; in virgl_get_param()
160 return vscreen->caps.caps.v2.max_texture_gather_offset; in virgl_get_param()
162 return vscreen->caps.caps.v1.bset.conditional_render; in virgl_get_param()
164 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_BARRIER; in virgl_get_param()
169 return vscreen->caps.caps.v1.bset.color_clamping; in virgl_get_param()
171 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FBO_MIXED_COLOR_FORMATS) || in virgl_get_param()
172 (vscreen->caps.caps.v2.host_feature_check_version < 1); in virgl_get_param()
174 if (vscreen->caps.caps.v2.host_feature_check_version < 6) in virgl_get_param()
175 return MIN2(vscreen->caps.caps.v1.glsl_level, 140); in virgl_get_param()
178 return vscreen->caps.caps.v1.glsl_level; in virgl_get_param()
184 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER; in virgl_get_param()
188 return vscreen->caps.caps.v2.uniform_buffer_offset_alignment; in virgl_get_param()
191 return vscreen->caps.caps.v1.bset.streamout_pause_resume; in virgl_get_param()
193 return vscreen->caps.caps.v1.bset.start_instance; in virgl_get_param()
206 return vscreen->caps.caps.v2.host_feature_check_version >= 10; in virgl_get_param()
210 return vscreen->caps.caps.v1.max_tbo_size > 0; in virgl_get_param()
212 return vscreen->caps.caps.v2.texture_buffer_offset_alignment; in virgl_get_param()
216 return vscreen->caps.caps.v1.bset.cube_map_array; in virgl_get_param()
218 return vscreen->caps.caps.v1.bset.texture_multisample; in virgl_get_param()
220 return vscreen->caps.caps.v1.max_viewports; in virgl_get_param()
222 return vscreen->caps.caps.v1.max_tbo_size; in virgl_get_param()
233 return vscreen->caps.caps.v2.max_geom_output_vertices; in virgl_get_param()
235 return vscreen->caps.caps.v2.max_geom_total_output_components; in virgl_get_param()
237 return vscreen->caps.caps.v1.bset.texture_query_lod; in virgl_get_param()
239 return vscreen->caps.caps.v1.max_texture_gather_components; in virgl_get_param()
241 return vscreen->caps.caps.v1.bset.has_indirect_draw; in virgl_get_param()
244 return vscreen->caps.caps.v1.bset.has_sample_shading; in virgl_get_param()
246 return vscreen->caps.caps.v1.bset.has_cull; in virgl_get_param()
248 return ((vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TRANSFORM_FEEDBACK3) || in virgl_get_param()
249 (vscreen->caps.caps.v2.host_feature_check_version < 2)) ? 4 : 1; in virgl_get_param()
251 return vscreen->caps.caps.v1.bset.conditional_render_inverted; in virgl_get_param()
253 return vscreen->caps.caps.v1.bset.derivative_control; in virgl_get_param()
255 return vscreen->caps.caps.v1.bset.polygon_offset_clamp; in virgl_get_param()
257 return vscreen->caps.caps.v1.bset.transform_feedback_overflow_query; in virgl_get_param()
259 return vscreen->caps.caps.v2.shader_buffer_offset_alignment; in virgl_get_param()
261 return vscreen->caps.caps.v1.bset.has_fp64 || in virgl_get_param()
262 (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FAKE_FP64); in virgl_get_param()
264 return vscreen->caps.caps.v2.max_shader_patch_varyings; in virgl_get_param()
266 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TEXTURE_VIEW; in virgl_get_param()
268 return vscreen->caps.caps.v2.max_vertex_attrib_stride; in virgl_get_param()
270 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COPY_IMAGE; in virgl_get_param()
272 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TXQS; in virgl_get_param()
274 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_FB_NO_ATTACH; in virgl_get_param()
276 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_ROBUST_BUFFER_ACCESS; in virgl_get_param()
278 return (vscreen->caps.caps.v2.capability_bits & in virgl_get_param()
281 return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_BLEND_EQUATION; in virgl_get_param()
283 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SHADER_CLOCK; in virgl_get_param()
285 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_TGSI_COMPONENTS; in virgl_get_param()
287 return vscreen->caps.caps.v2.max_combined_shader_buffers; in virgl_get_param()
289 return vscreen->caps.caps.v2.max_combined_atomic_counters; in virgl_get_param()
291 return vscreen->caps.caps.v2.max_combined_atomic_counter_buffers; in virgl_get_param()
296 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_QBO; in virgl_get_param()
298 if (vscreen->caps.caps.v1.glsl_level < 150) in virgl_get_param()
299 return vscreen->caps.caps.v2.max_vertex_attribs; in virgl_get_param()
304 return (vscreen->caps.caps.v1.max_samples == 1) ? 1 : 0; in virgl_get_param()
306 return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_MULTI_DRAW_INDIRECT); in virgl_get_param()
308 return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_PARAMS); in virgl_get_param()
310 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_ARB_BUFFER_STORAGE) && in virgl_get_param()
311 (vscreen->caps.caps.v2.host_feature_check_version >= 4) && in virgl_get_param()
312 vscreen->vws->supports_coherent && !vscreen->no_coherent; in virgl_get_param()
320 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_CLEAR_TEXTURE; in virgl_get_param()
322 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_CLIP_HALFZ; in virgl_get_param()
335 if (vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_VIDEO_MEMORY) in virgl_get_param()
336 return vscreen->caps.caps.v2.max_video_memory; in virgl_get_param()
339 return vscreen->vws->supports_fences; in virgl_get_param()
341 return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SRGB_WRITE_CONTROL) || in virgl_get_param()
342 (vscreen->caps.caps.v2.host_feature_check_version < 1); in virgl_get_param()
349 return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_MEMINFO; in virgl_get_param()
351 return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_STRING_MARKER; in virgl_get_param()
353 return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_IMPLICIT_MSAA; in virgl_get_param()
357 if (vscreen->caps.caps.v2.host_feature_check_version >= 13) in virgl_get_param()
358 return vscreen->caps.caps.v2.max_uniform_block_size; in virgl_get_param()
370 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_shader_param() local
373 !vscreen->caps.caps.v1.bset.has_tessellation_shaders) in virgl_get_shader_param()
377 !(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER)) in virgl_get_shader_param()
400 return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_INPUT_ADDR; in virgl_get_shader_param()
402 if (vscreen->caps.caps.v1.glsl_level < 150) in virgl_get_shader_param()
403 return vscreen->caps.caps.v2.max_vertex_attribs; in virgl_get_shader_param()
405 shader == PIPE_SHADER_GEOMETRY) ? vscreen->caps.caps.v2.max_vertex_attribs : 32; in virgl_get_shader_param()
408 return vscreen->caps.caps.v1.max_render_targets; in virgl_get_shader_param()
409 return vscreen->caps.caps.v2.max_vertex_outputs; in virgl_get_shader_param()
415 return vscreen->caps.caps.v1.max_uniform_blocks; in virgl_get_shader_param()
421 return MIN2(vscreen->caps.caps.v2.max_shader_sampler_views, in virgl_get_shader_param()
424 return vscreen->caps.caps.v1.glsl_level >= 130; in virgl_get_shader_param()
428 if (vscreen->caps.caps.v2.host_feature_check_version < 12) in virgl_get_shader_param()
430 return vscreen->caps.caps.v2.max_const_buffer_size[shader]; in virgl_get_shader_param()
433 return vscreen->caps.caps.v2.max_shader_buffer_frag_compute; in virgl_get_shader_param()
435 return vscreen->caps.caps.v2.max_shader_buffer_other_stages; in virgl_get_shader_param()
438 return vscreen->caps.caps.v2.max_shader_image_frag_compute; in virgl_get_shader_param()
440 return vscreen->caps.caps.v2.max_shader_image_other_stages; in virgl_get_shader_param()
446 return vscreen->caps.caps.v2.max_atomic_counters[shader]; in virgl_get_shader_param()
448 return vscreen->caps.caps.v2.max_atomic_counter_buffers[shader]; in virgl_get_shader_param()
467 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_paramf() local
478 return vscreen->caps.caps.v2.max_aliased_line_width; in virgl_get_paramf()
480 return vscreen->caps.caps.v2.max_smooth_line_width; in virgl_get_paramf()
482 return vscreen->caps.caps.v2.max_aliased_point_size; in virgl_get_paramf()
484 return vscreen->caps.caps.v2.max_smooth_point_size; in virgl_get_paramf()
486 return vscreen->caps.caps.v2.max_anisotropy; in virgl_get_paramf()
488 return vscreen->caps.caps.v2.max_texture_lod_bias; in virgl_get_paramf()
505 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_get_compute_param() local
506 if (!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_COMPUTE_SHADER)) in virgl_get_compute_param()
512 grid_size[0] = vscreen->caps.caps.v2.max_compute_grid_size[0]; in virgl_get_compute_param()
513 grid_size[1] = vscreen->caps.caps.v2.max_compute_grid_size[1]; in virgl_get_compute_param()
514 grid_size[2] = vscreen->caps.caps.v2.max_compute_grid_size[2]; in virgl_get_compute_param()
520 block_size[0] = vscreen->caps.caps.v2.max_compute_block_size[0]; in virgl_get_compute_param()
521 block_size[1] = vscreen->caps.caps.v2.max_compute_block_size[1]; in virgl_get_compute_param()
522 block_size[2] = vscreen->caps.caps.v2.max_compute_block_size[2]; in virgl_get_compute_param()
528 *max_threads_per_block = vscreen->caps.caps.v2.max_compute_work_group_invocations; in virgl_get_compute_param()
535 *max_local_size = vscreen->caps.caps.v2.max_compute_shared_memory_size; in virgl_get_compute_param()
560 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_has_readback_format() local
561 if (has_format_bit(&vscreen->caps.caps.v2.supported_readback_formats, in virgl_has_readback_format()
565 if (allow_tweak && fmt == VIRGL_FORMAT_L8_SRGB && vscreen->tweak_l8_srgb_readback) { in virgl_has_readback_format()
576 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_is_vertex_format_supported() local
586 if (!(vscreen->caps.caps.v1.vertexbuffer.bitmask[big] & (1 << small))) in virgl_is_vertex_format_supported()
640 bool virgl_has_scanout_format(struct virgl_screen *vscreen, in virgl_has_scanout_format() argument
645 vscreen->caps.caps.v2.scanout.bitmask, in virgl_has_scanout_format()
662 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_is_format_supported() local
666 union virgl_caps *caps = &vscreen->caps.caps; in virgl_is_format_supported()
669 vscreen->tweak_gles_emulate_bgra; in virgl_is_format_supported()
817 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_flush_frontbuffer() local
818 struct virgl_winsys *vws = vscreen->vws; in virgl_flush_frontbuffer()
833 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_reference() local
834 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_reference()
844 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_finish() local
845 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_finish()
857 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_fence_get_fd() local
858 struct virgl_winsys *vws = vscreen->vws; in virgl_fence_get_fd()
872 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_destroy_screen() local
873 struct virgl_winsys *vws = vscreen->vws; in virgl_destroy_screen()
875 slab_destroy_parent(&vscreen->transfer_pool); in virgl_destroy_screen()
880 disk_cache_destroy(vscreen->disk_cache); in virgl_destroy_screen()
882 FREE(vscreen); in virgl_destroy_screen()
903 struct virgl_screen *vscreen = virgl_screen(screen); in virgl_query_memory_info() local
925 vscreen->vws->resource_wait(vscreen->vws, res->hw_res); in virgl_query_memory_info()
1019 struct virgl_screen *vscreen = virgl_screen(pscreen); in virgl_get_compiler_options() local
1021 return &vscreen->compiler_options; in virgl_get_compiler_options()