Lines Matching refs:screen
81 void st_init_limits(struct pipe_screen *screen,
89 c->MaxTextureSize = screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_SIZE);
92 screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_MB));
95 = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_3D_LEVELS),
100 = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS),
106 = screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS);
117 screen->get_param(screen, PIPE_CAP_RASTERIZER_SUBPIXEL_BITS);
119 screen->get_param(screen, PIPE_CAP_VIEWPORT_SUBPIXEL_BITS);
122 _clamp(screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS),
126 _clamp(screen->get_param(screen,
131 _maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_LINE_WIDTH));
133 _maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_LINE_WIDTH_AA));
135 c->MinLineWidth = screen->get_paramf(screen, PIPE_CAPF_MIN_LINE_WIDTH);
136 c->MinLineWidthAA = screen->get_paramf(screen, PIPE_CAPF_MIN_LINE_WIDTH_AA);
137 c->LineWidthGranularity = screen->get_paramf(screen, PIPE_CAPF_LINE_WIDTH_GRANULARITY);
140 _maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_POINT_SIZE));
142 _maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_POINT_SIZE_AA));
144 c->MinPointSize = MAX2(screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE), 0.01);
145 c->MinPointSizeAA = MAX2(screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE_AA), 0.01);
146 c->PointSizeGranularity = screen->get_paramf(screen, PIPE_CAPF_POINT_SIZE_GRANULARITY);
150 screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_ANISOTROPY));
153 screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_LOD_BIAS);
156 screen->get_param(screen,
160 screen->get_param(screen, PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT);
178 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_PREFERRED_IR);
179 if (screen->get_compiler_options)
180 options->NirOptions = screen->get_compiler_options(screen, PIPE_SHADER_IR_NIR, sh);
184 nir_to_tgsi_get_compiler_options(screen, PIPE_SHADER_IR_NIR, sh);
188 if (!screen->get_param(screen, PIPE_CAP_COMPUTE))
191 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_SUPPORTED_IRS);
198 _min(screen->get_shader_param(screen, sh,
204 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_INSTRUCTIONS);
207 screen->get_shader_param(screen, sh,
211 screen->get_shader_param(screen, sh,
215 screen->get_shader_param(screen, sh,
219 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_INPUTS);
222 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_TEMPS);
227 screen->get_shader_param(screen, sh,
235 if (!screen->get_param(screen, PIPE_CAP_CLIP_PLANES))
238 if (!screen->get_param(screen, PIPE_CAP_POINT_SIZE_FIXED))
241 if (!screen->get_param(screen, PIPE_CAP_ALPHA_TEST))
257 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_INPUTS) * 4;
259 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_OUTPUTS) * 4;
263 screen->get_shader_param(screen, sh,
274 screen->get_shader_param(screen, sh,
277 temp = screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS);
284 pc->MaxAtomicBuffers = screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS);
295 _min(screen->get_shader_param(screen, sh,
305 if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INTEGERS)) {
311 if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INT16)) {
318 if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16)) {
327 screen->get_shader_param(screen, sh,
331 !screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_SUBROUTINES);
334 !screen->get_shader_param(screen, sh,
338 !screen->get_shader_param(screen, sh,
341 !screen->get_shader_param(screen, sh,
344 !screen->get_shader_param(screen, sh,
347 !screen->get_shader_param(screen, sh,
355 if (!screen->get_param(screen, PIPE_CAP_NIR_COMPACT_ARRAYS))
359 if (screen->get_param(screen, PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED))
361 if (screen->get_param(screen, PIPE_CAP_PSIZ_CLAMPED))
370 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16);
372 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_DERIVATIVES);
374 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INT16);
376 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_GLSL_16BIT_CONSTS);
378 screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_CONST_BUFFERS);
390 screen->get_param(screen, PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF);
392 screen->get_param(screen, PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS);
394 !screen->get_param(screen, PIPE_CAP_NIR_COMPACT_ARRAYS);
396 !screen->get_param(screen, PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED);
420 c->MaxVarying = screen->get_param(screen, PIPE_CAP_MAX_VARYINGS);
423 screen->get_param(screen, PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES);
425 screen->get_param(screen, PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS);
427 screen->get_param(screen, PIPE_CAP_MAX_GS_INVOCATIONS);
429 MIN2(screen->get_param(screen, PIPE_CAP_MAX_SHADER_PATCH_VARYINGS),
433 screen->get_param(screen, PIPE_CAP_MIN_TEXEL_OFFSET);
435 screen->get_param(screen, PIPE_CAP_MAX_TEXEL_OFFSET);
438 screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS);
440 screen->get_param(screen, PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET);
442 screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET);
445 screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS);
449 screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS);
451 screen->get_param(screen,
454 MAX2(1, screen->get_param(screen, PIPE_CAP_MAX_VERTEX_STREAMS));
460 = screen->get_param(screen, PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE);
465 temp = screen->get_param(screen, PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET);
469 screen->get_param(screen, PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS);
472 screen->get_param(screen, PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT);
487 screen->get_param(screen, PIPE_CAP_FS_POSITION_IS_SYSVAL);
489 screen->get_param(screen, PIPE_CAP_FS_POINT_IS_SYSVAL);
491 screen->get_param(screen, PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL);
494 if (screen->get_disk_shader_cache && screen->get_disk_shader_cache(screen))
505 MIN2(screen->get_param(screen,
520 screen->get_param(screen, PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTERS);
531 screen->get_param(screen, PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT);
534 MIN2(screen->get_param(screen, PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS),
551 screen->get_param(screen, PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT);
566 screen->get_param(screen, PIPE_CAP_IMAGE_STORE_FORMATTED)) {
581 screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS);
584 screen->get_param(screen, PIPE_CAP_MAX_WINDOW_RECTANGLES);
587 screen->get_param(screen, PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE);
590 screen->get_param(screen, PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION);
593 screen->get_param(screen, PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE);
596 screen->get_param(screen, PIPE_CAP_LOAD_CONSTBUF);
599 screen->get_param(screen, PIPE_CAP_MAX_CONSERVATIVE_RASTER_SUBPIXEL_PRECISION_BIAS);
602 screen->get_paramf(screen, PIPE_CAPF_MIN_CONSERVATIVE_RASTER_DILATE);
604 screen->get_paramf(screen, PIPE_CAPF_MAX_CONSERVATIVE_RASTER_DILATE);
606 screen->get_paramf(screen, PIPE_CAPF_CONSERVATIVE_RASTER_DILATE_GRANULARITY);
609 temp = screen->get_param(screen, PIPE_CAP_MAX_COMBINED_SHADER_OUTPUT_RESOURCES);
614 screen->get_param(screen, PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET);
617 screen->get_param(screen, PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH);
620 screen->get_param(screen, PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE);
623 screen->get_param(screen, PIPE_CAP_MAX_SPARSE_TEXTURE_SIZE);
625 screen->get_param(screen, PIPE_CAP_MAX_SPARSE_3D_TEXTURE_SIZE);
627 screen->get_param(screen, PIPE_CAP_MAX_SPARSE_ARRAY_TEXTURE_LAYERS);
629 screen->get_param(screen, PIPE_CAP_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS);
632 screen->get_param(screen, PIPE_CAP_HARDWARE_GL_SELECT);
665 init_format_extensions(struct pipe_screen *screen,
683 if (screen->is_format_supported(screen, mapping[i].format[j],
706 get_max_samples_for_formats(struct pipe_screen *screen,
716 if (screen->is_format_supported(screen, formats[f],
726 get_max_samples_for_formats_advanced(struct pipe_screen *screen,
737 if (screen->is_format_supported(screen, formats[f], PIPE_TEXTURE_2D,
753 void st_init_extensions(struct pipe_screen *screen,
1096 if (screen->get_param(screen, cap_mapping[i].cap)) {
1106 init_format_extensions(screen, extensions, rendertarget_mapping,
1109 init_format_extensions(screen, extensions, rt_blendable,
1113 init_format_extensions(screen, extensions, depthstencil_mapping,
1116 init_format_extensions(screen, extensions, texture_mapping,
1119 init_format_extensions(screen, extensions, vertex_mapping,
1124 consts->GLSLVersion = screen->get_param(screen, PIPE_CAP_GLSL_FEATURE_LEVEL);
1126 screen->get_param(screen, PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY);
1129 screen->get_param(screen, PIPE_CAP_ESSL_FEATURE_LEVEL);
1163 screen->get_param(screen, PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX);
1180 screen->get_param(screen, PIPE_CAP_VS_LAYER_VIEWPORT)) {
1194 screen->get_param(screen, PIPE_CAP_SHADER_ARRAY_COMPONENTS))
1202 uint32_t drv_clip_planes = screen->get_param(screen, PIPE_CAP_CLIP_PLANES);
1207 if (screen->get_param(screen, PIPE_CAP_VERTEXID_NOBASE)) {
1224 if (screen->get_param(screen, PIPE_CAP_OPENCL_INTEGER_FUNCTIONS) &&
1225 screen->get_param(screen, PIPE_CAP_INTEGER_MULTIPLY_32X16)) {
1230 if (screen->get_shader_param(screen, PIPE_SHADER_VERTEX,
1232 screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
1247 consts->GLSLZeroInit = screen->get_param(screen, PIPE_CAP_GLSL_ZERO_INIT);
1262 if (screen->get_shader_param(screen, PIPE_SHADER_TESS_CTRL,
1270 screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY,
1314 get_max_samples_for_formats(screen, ARRAY_SIZE(color_formats),
1319 get_max_samples_for_formats(screen, ARRAY_SIZE(color_formats),
1324 get_max_samples_for_formats(screen, ARRAY_SIZE(color_formats),
1329 get_max_samples_for_formats(screen, ARRAY_SIZE(depth_formats),
1334 get_max_samples_for_formats(screen, ARRAY_SIZE(int_formats),
1340 get_max_samples_for_formats(screen, ARRAY_SIZE(void_formats),
1348 get_max_samples_for_formats_advanced(screen,
1374 if (screen->is_format_supported(screen, PIPE_FORMAT_Z32_FLOAT,
1390 if (screen->is_format_supported(screen,
1419 screen->get_param(screen, PIPE_CAP_FAKE_SW_MSAA)) {
1431 if (screen->get_param(screen, PIPE_CAP_QUERY_TIME_ELAPSED) ||
1459 screen->get_param(screen, PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT);
1463 screen->get_param(screen, PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY))
1468 screen->get_param(screen, PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT);
1470 screen->get_param(screen, PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT);
1475 init_format_extensions(screen, extensions, tbo_rgb32,
1487 screen->get_param(screen, PIPE_CAP_DEST_SURFACE_SRGB_CONTROL) &&
1495 if (screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
1504 if (!screen->get_param(screen, PIPE_CAP_PACKED_STREAM_OUTPUT))
1507 if (screen->get_param(screen, PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS))
1510 unsigned max_fb_fetch_rts = screen->get_param(screen, PIPE_CAP_FBFETCH);
1512 screen->get_param(screen, PIPE_CAP_FBFETCH_COHERENT);
1514 if (screen->get_param(screen, PIPE_CAP_BLEND_EQUATION_ADVANCED))
1522 screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS)) {
1528 consts->MaxViewports = screen->get_param(screen, PIPE_CAP_MAX_VIEWPORTS);
1545 screen->get_param(screen, PIPE_CAP_TES_LAYER_VIEWPORT))
1549 if (screen->get_param(screen, PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT) &&
1562 screen->get_shader_param(screen, PIPE_SHADER_VERTEX,
1565 screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_UNORM,
1568 screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SRGB,
1571 screen->is_format_supported(screen, PIPE_FORMAT_R16_UNORM,
1574 screen->is_format_supported(screen, PIPE_FORMAT_R16G16_UNORM,
1577 screen->is_format_supported(screen, PIPE_FORMAT_R16_SNORM,
1580 screen->is_format_supported(screen, PIPE_FORMAT_R16G16_SNORM,
1587 if (screen->get_video_param &&
1588 screen->get_video_param(screen, PIPE_VIDEO_PROFILE_UNKNOWN,
1595 if (screen->get_param(screen, PIPE_CAP_DOUBLES)) {
1601 screen->get_param(screen, PIPE_CAP_STRING_MARKER))
1604 if (screen->get_param(screen, PIPE_CAP_COMPUTE)) {
1606 screen->get_shader_param(screen, PIPE_SHADER_COMPUTE,
1616 screen->get_compute_param(screen, ir,
1618 screen->get_compute_param(screen, ir,
1620 screen->get_compute_param(screen, ir,
1623 screen->get_compute_param(screen, ir,
1644 screen->get_compute_param(screen, ir,
1670 screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_ANISOTROPY) >= 16.0)
1749 if (screen->get_param(screen, PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_TRIANGLES) &&
1750 screen->get_param(screen, PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_POINTS_LINES) &&
1751 screen->get_param(screen, PIPE_CAP_CONSERVATIVE_RASTER_POST_DEPTH_COVERAGE)) {
1755 max_dilate = screen->get_paramf(screen, PIPE_CAPF_MAX_CONSERVATIVE_RASTER_DILATE);
1758 screen->get_param(screen, PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_TRIANGLES);
1760 screen->get_param(screen, PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_POINTS_LINES);
1763 screen->get_param(screen, PIPE_CAP_MAX_CONSERVATIVE_RASTER_SUBPIXEL_PRECISION_BIAS) > 1;
1799 screen->get_param(screen, PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS);
1809 screen->get_param(screen, PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER);
1813 screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_PREFERRED_IR);
1818 screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_INTEGERS) &&
1820 screen->get_param(screen, PIPE_CAP_DOUBLES) &&