diff --git a/src/gallium/auxiliary/driver_ddebug/dd_screen.c b/src/gallium/auxiliary/driver_ddebug/dd_screen.c index 16189b806a0..57abbd899e1 100644 --- a/src/gallium/auxiliary/driver_ddebug/dd_screen.c +++ b/src/gallium/auxiliary/driver_ddebug/dd_screen.c @@ -74,24 +74,6 @@ dd_screen_get_disk_shader_cache(struct pipe_screen *_screen) return screen->get_disk_shader_cache(screen); } -static int -dd_screen_get_param(struct pipe_screen *_screen, - enum pipe_cap param) -{ - struct pipe_screen *screen = dd_screen(_screen)->screen; - - return screen->get_param(screen, param); -} - -static float -dd_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_capf param) -{ - struct pipe_screen *screen = dd_screen(_screen)->screen; - - return screen->get_paramf(screen, param); -} - static int dd_screen_get_compute_param(struct pipe_screen *_screen, enum pipe_shader_ir ir_type, @@ -658,8 +640,6 @@ ddebug_screen_create(struct pipe_screen *screen) dscreen->base.get_vendor = dd_screen_get_vendor; dscreen->base.get_device_vendor = dd_screen_get_device_vendor; SCR_INIT(get_disk_shader_cache); - dscreen->base.get_param = dd_screen_get_param; - dscreen->base.get_paramf = dd_screen_get_paramf; dscreen->base.get_compute_param = dd_screen_get_compute_param; dscreen->base.get_shader_param = dd_screen_get_shader_param; dscreen->base.query_memory_info = dd_screen_query_memory_info; diff --git a/src/gallium/auxiliary/driver_noop/noop_pipe.c b/src/gallium/auxiliary/driver_noop/noop_pipe.c index a0adcdab03c..b180d8f73f3 100644 --- a/src/gallium/auxiliary/driver_noop/noop_pipe.c +++ b/src/gallium/auxiliary/driver_noop/noop_pipe.c @@ -496,21 +496,6 @@ static const char *noop_get_name(struct pipe_screen* pscreen) return "NOOP"; } -static int noop_get_param(struct pipe_screen* pscreen, enum pipe_cap param) -{ - struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen; - - return screen->get_param(screen, param); -} - -static float noop_get_paramf(struct pipe_screen* pscreen, - enum pipe_capf param) -{ - struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen; - - return screen->get_paramf(screen, param); -} - static int noop_get_shader_param(struct pipe_screen* pscreen, enum pipe_shader_type shader, enum pipe_shader_cap param) @@ -805,10 +790,8 @@ struct pipe_screen *noop_screen_create(struct pipe_screen *oscreen) screen->get_name = noop_get_name; screen->get_vendor = noop_get_vendor; screen->get_device_vendor = noop_get_device_vendor; - screen->get_param = noop_get_param; screen->get_shader_param = noop_get_shader_param; screen->get_compute_param = noop_get_compute_param; - screen->get_paramf = noop_get_paramf; screen->is_format_supported = noop_is_format_supported; screen->context_create = noop_create_context; screen->resource_create = noop_resource_create; diff --git a/src/gallium/auxiliary/driver_trace/enums2names.py b/src/gallium/auxiliary/driver_trace/enums2names.py index da861db9832..3ecdceef18a 100755 --- a/src/gallium/auxiliary/driver_trace/enums2names.py +++ b/src/gallium/auxiliary/driver_trace/enums2names.py @@ -46,8 +46,6 @@ lst_enum_include = [ "pipe_shader_cap", "pipe_shader_ir", "pipe_map_flags", - "pipe_cap", - "pipe_capf", "pipe_compute_cap", "pipe_video_cap", "pipe_video_profile", diff --git a/src/gallium/auxiliary/driver_trace/tr_screen.c b/src/gallium/auxiliary/driver_trace/tr_screen.c index 785d71f0611..eeda0b6696c 100644 --- a/src/gallium/auxiliary/driver_trace/tr_screen.c +++ b/src/gallium/auxiliary/driver_trace/tr_screen.c @@ -150,29 +150,6 @@ trace_screen_get_disk_shader_cache(struct pipe_screen *_screen) } -static int -trace_screen_get_param(struct pipe_screen *_screen, - enum pipe_cap param) -{ - struct trace_screen *tr_scr = trace_screen(_screen); - struct pipe_screen *screen = tr_scr->screen; - int result; - - trace_dump_call_begin("pipe_screen", "get_param"); - - trace_dump_arg(ptr, screen); - trace_dump_arg_enum(pipe_cap, param); - - result = screen->get_param(screen, param); - - trace_dump_ret(int, result); - - trace_dump_call_end(); - - return result; -} - - static int trace_screen_get_shader_param(struct pipe_screen *_screen, enum pipe_shader_type shader, @@ -198,29 +175,6 @@ trace_screen_get_shader_param(struct pipe_screen *_screen, } -static float -trace_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_capf param) -{ - struct trace_screen *tr_scr = trace_screen(_screen); - struct pipe_screen *screen = tr_scr->screen; - float result; - - trace_dump_call_begin("pipe_screen", "get_paramf"); - - trace_dump_arg(ptr, screen); - trace_dump_arg_enum(pipe_capf, param); - - result = screen->get_paramf(screen, param); - - trace_dump_ret(float, result); - - trace_dump_call_end(); - - return result; -} - - static int trace_screen_get_compute_param(struct pipe_screen *_screen, enum pipe_shader_ir ir_type, @@ -1546,9 +1500,7 @@ trace_screen_create(struct pipe_screen *screen) tr_scr->base.get_device_vendor = trace_screen_get_device_vendor; SCR_INIT(get_compiler_options); SCR_INIT(get_disk_shader_cache); - tr_scr->base.get_param = trace_screen_get_param; tr_scr->base.get_shader_param = trace_screen_get_shader_param; - tr_scr->base.get_paramf = trace_screen_get_paramf; tr_scr->base.get_compute_param = trace_screen_get_compute_param; SCR_INIT(get_video_param); tr_scr->base.is_format_supported = trace_screen_is_format_supported; diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index ecd23607ddc..c1f1b5b92aa 100644 --- a/src/gallium/auxiliary/util/u_screen.c +++ b/src/gallium/auxiliary/util/u_screen.c @@ -37,541 +37,6 @@ #include #endif -/** - * Helper to use from a pipe_screen->get_param() implementation to return - * default values for unsupported PIPE_CAPs. - * - * Call this function from your pipe_screen->get_param() implementation's - * default case, so that implementors of new pipe caps don't need to - */ -int -u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, - enum pipe_cap param) -{ - UNUSED uint64_t cap; - UNUSED int fd; - - assert(param < PIPE_CAP_LAST); - - /* Let's keep these sorted by position in p_defines.h. */ - switch (param) { - case PIPE_CAP_NPOT_TEXTURES: - case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: - case PIPE_CAP_ANISOTROPIC_FILTER: - return 0; - - case PIPE_CAP_GRAPHICS: - case PIPE_CAP_GL_CLAMP: - case PIPE_CAP_MAX_RENDER_TARGETS: - case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: - case PIPE_CAP_DITHERING: - return 1; - - case PIPE_CAP_OCCLUSION_QUERY: - case PIPE_CAP_QUERY_TIME_ELAPSED: - case PIPE_CAP_TEXTURE_SWIZZLE: - return 0; - - case PIPE_CAP_MAX_TEXTURE_2D_SIZE: - case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: - unreachable("driver must implement these."); - - case PIPE_CAP_TEXTURE_MIRROR_CLAMP: - case PIPE_CAP_BLEND_EQUATION_SEPARATE: - case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD: - case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES: - case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS: /* enables EXT_transform_feedback */ - case PIPE_CAP_PRIMITIVE_RESTART: - case PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX: - case PIPE_CAP_INDEP_BLEND_ENABLE: - case PIPE_CAP_INDEP_BLEND_FUNC: - case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: - case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: /* Enables GL_EXT_texture_array */ - case PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT: - case PIPE_CAP_FS_COORD_ORIGIN_LOWER_LEFT: - case PIPE_CAP_FS_COORD_PIXEL_CENTER_HALF_INTEGER: - case PIPE_CAP_FS_COORD_PIXEL_CENTER_INTEGER: - case PIPE_CAP_DEPTH_CLIP_DISABLE: - case PIPE_CAP_DEPTH_CLIP_DISABLE_SEPARATE: - case PIPE_CAP_DEPTH_CLAMP_ENABLE: - case PIPE_CAP_SHADER_STENCIL_EXPORT: - case PIPE_CAP_VS_INSTANCEID: - case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: - case PIPE_CAP_FRAGMENT_COLOR_CLAMPED: - case PIPE_CAP_SEAMLESS_CUBE_MAP: - case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: - case PIPE_CAP_MULTIVIEW: - return 0; - - case PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART: - case PIPE_CAP_SUPPORTED_PRIM_MODES: - return BITFIELD_MASK(MESA_PRIM_COUNT); - - case PIPE_CAP_MIN_TEXEL_OFFSET: - /* GL 3.x minimum value. */ - return -8; - case PIPE_CAP_MAX_TEXEL_OFFSET: - return 7; - - case PIPE_CAP_CONDITIONAL_RENDER: - case PIPE_CAP_TEXTURE_BARRIER: - return 0; - - case PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS: - /* GL_EXT_transform_feedback minimum value. */ - return 4; - case PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS: - return 64; - - case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: - case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: - case PIPE_CAP_VERTEX_COLOR_UNCLAMPED: - case PIPE_CAP_VERTEX_COLOR_CLAMPED: - return 0; - - case PIPE_CAP_GLSL_FEATURE_LEVEL: - case PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY: - /* Minimum GLSL level implemented by gallium drivers. */ - return 120; - - case PIPE_CAP_ESSL_FEATURE_LEVEL: - /* Tell gallium frontend to fallback to PIPE_CAP_GLSL_FEATURE_LEVEL */ - return 0; - - case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: - case PIPE_CAP_USER_VERTEX_BUFFERS: - case PIPE_CAP_COMPUTE: - return 0; - - case PIPE_CAP_VERTEX_INPUT_ALIGNMENT: - return PIPE_VERTEX_INPUT_ALIGNMENT_NONE; - - case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT: - /* GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT default value. */ - return 1; - - case PIPE_CAP_START_INSTANCE: - case PIPE_CAP_QUERY_TIMESTAMP: - case PIPE_CAP_TIMER_RESOLUTION: - case PIPE_CAP_TEXTURE_MULTISAMPLE: - return 0; - - case PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: - /* GL_ARB_map_buffer_alignment minimum value. All drivers expose the - * extension. - */ - return 64; - - case PIPE_CAP_CUBE_MAP_ARRAY: - case PIPE_CAP_TEXTURE_BUFFER_OBJECTS: - return 0; - - case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: - /* GL_EXT_texture_buffer minimum value. */ - return 256; - - case PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY: - case PIPE_CAP_TGSI_TEXCOORD: - return 0; - - case PIPE_CAP_TEXTURE_TRANSFER_MODES: - return PIPE_TEXTURE_TRANSFER_BLIT; - - case PIPE_CAP_QUERY_PIPELINE_STATISTICS: - case PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE: - case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK: - return 0; - - case PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT: - /* GL_EXT_texture_buffer minimum value. */ - return 65536; - - case PIPE_CAP_LINEAR_IMAGE_PITCH_ALIGNMENT: - return 0; - - case PIPE_CAP_LINEAR_IMAGE_BASE_ADDRESS_ALIGNMENT: - return 0; - - case PIPE_CAP_MAX_VIEWPORTS: - return 1; - - case PIPE_CAP_ENDIANNESS: - return PIPE_ENDIAN_LITTLE; - - case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: - case PIPE_CAP_VS_LAYER_VIEWPORT: - case PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES: - case PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: - case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: /* Enables ARB_texture_gather */ - case PIPE_CAP_TEXTURE_GATHER_SM5: - return 0; - - /* All new drivers should support persistent/coherent mappings. This CAP - * should only be unset by layered drivers whose host drivers cannot support - * coherent mappings. - */ - case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: - return 1; - - case PIPE_CAP_FAKE_SW_MSAA: - case PIPE_CAP_TEXTURE_QUERY_LOD: - return 0; - - case PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET: - return -8; - case PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET: - return 7; - - case PIPE_CAP_SAMPLE_SHADING: - case PIPE_CAP_TEXTURE_GATHER_OFFSETS: - case PIPE_CAP_VS_WINDOW_SPACE_POSITION: - case PIPE_CAP_MAX_VERTEX_STREAMS: - case PIPE_CAP_DRAW_INDIRECT: - case PIPE_CAP_FS_FINE_DERIVATIVE: - return 0; - - case PIPE_CAP_VENDOR_ID: - case PIPE_CAP_DEVICE_ID: - return 0xffffffff; - - case PIPE_CAP_ACCELERATED: - case PIPE_CAP_VIDEO_MEMORY: - case PIPE_CAP_UMA: - unreachable("driver must implement these."); - - case PIPE_CAP_CONDITIONAL_RENDER_INVERTED: - return 0; - - case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE: - /* GL minimum value */ - return 2048; - - case PIPE_CAP_SAMPLER_VIEW_TARGET: - case PIPE_CAP_CLIP_HALFZ: - case PIPE_CAP_POLYGON_OFFSET_CLAMP: - case PIPE_CAP_MULTISAMPLE_Z_RESOLVE: - case PIPE_CAP_RESOURCE_FROM_USER_MEMORY: - case PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY: - case PIPE_CAP_DEVICE_RESET_STATUS_QUERY: - case PIPE_CAP_DEVICE_PROTECTED_SURFACE: - case PIPE_CAP_DEVICE_PROTECTED_CONTEXT: - case PIPE_CAP_MAX_SHADER_PATCH_VARYINGS: - case PIPE_CAP_TEXTURE_FLOAT_LINEAR: - case PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR: - case PIPE_CAP_DEPTH_BOUNDS_TEST: - case PIPE_CAP_TEXTURE_QUERY_SAMPLES: - case PIPE_CAP_FORCE_PERSAMPLE_INTERP: - return 0; - - /* All drivers should expose this cap, as it is required for applications to - * be able to efficiently compile GL shaders from multiple threads during - * load. - */ - case PIPE_CAP_SHAREABLE_SHADERS: - return 1; - - case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS: - case PIPE_CAP_CLEAR_SCISSORED: - case PIPE_CAP_DRAW_PARAMETERS: - case PIPE_CAP_SHADER_PACK_HALF_FLOAT: - case PIPE_CAP_MULTI_DRAW_INDIRECT: - case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS: - case PIPE_CAP_FS_POSITION_IS_SYSVAL: - case PIPE_CAP_FS_POINT_IS_SYSVAL: - case PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL: - return 0; - case PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE: - return 1; - - case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: - /* Enables GL_ARB_shader_storage_buffer_object */ - return 0; - - case PIPE_CAP_INVALIDATE_BUFFER: - case PIPE_CAP_GENERATE_MIPMAP: - case PIPE_CAP_STRING_MARKER: - case PIPE_CAP_SURFACE_REINTERPRET_BLOCKS: - case PIPE_CAP_QUERY_BUFFER_OBJECT: - case PIPE_CAP_QUERY_MEMORY_INFO: /* Enables GL_ATI_meminfo */ - return 0; - - case PIPE_CAP_PCI_GROUP: - case PIPE_CAP_PCI_BUS: - case PIPE_CAP_PCI_DEVICE: - case PIPE_CAP_PCI_FUNCTION: - unreachable("driver must implement these."); - - case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT: - case PIPE_CAP_ROBUST_BUFFER_ACCESS_BEHAVIOR: - case PIPE_CAP_CULL_DISTANCE: - case PIPE_CAP_SHADER_GROUP_VOTE: - case PIPE_CAP_MAX_WINDOW_RECTANGLES: /* Enables EXT_window_rectangles */ - case PIPE_CAP_POLYGON_OFFSET_UNITS_UNSCALED: - case PIPE_CAP_VIEWPORT_SUBPIXEL_BITS: - case PIPE_CAP_VIEWPORT_SWIZZLE: - case PIPE_CAP_VIEWPORT_MASK: - case PIPE_CAP_MIXED_COLOR_DEPTH_BITS: - case PIPE_CAP_SHADER_ARRAY_COMPONENTS: - case PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS: - case PIPE_CAP_NATIVE_FENCE_FD: - return 0; - - case PIPE_CAP_RASTERIZER_SUBPIXEL_BITS: - return 4; /* GLES 2.0 minimum value */ - - case PIPE_CAP_PREFER_BACK_BUFFER_REUSE: - return 1; - - case PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS: - return 0; - - case PIPE_CAP_FBFETCH: - case PIPE_CAP_FBFETCH_COHERENT: - case PIPE_CAP_FBFETCH_ZS: - case PIPE_CAP_BLEND_EQUATION_ADVANCED: - case PIPE_CAP_LEGACY_MATH_RULES: - case PIPE_CAP_FP16: - case PIPE_CAP_DOUBLES: - case PIPE_CAP_INT64: - case PIPE_CAP_TGSI_TEX_TXF_LZ: - case PIPE_CAP_SHADER_CLOCK: - case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: - case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: - case PIPE_CAP_SHADER_BALLOT: - case PIPE_CAP_TES_LAYER_VIEWPORT: - case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX: - case PIPE_CAP_TGSI_DIV: - case PIPE_CAP_NIR_ATOMICS_AS_DEREF: - return 0; - - case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION: - /* Drivers generally support this, and it reduces GL overhead just to - * throw an error when buffers are mapped. - */ - return 1; - - case PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF: - /* Don't unset this unless your driver can do better, like using nir_opt_large_constants() */ - return 1; - - case PIPE_CAP_POST_DEPTH_COVERAGE: - case PIPE_CAP_BINDLESS_TEXTURE: - case PIPE_CAP_NIR_SAMPLERS_AS_DEREF: - case PIPE_CAP_QUERY_SO_OVERFLOW: - case PIPE_CAP_MEMOBJ: - case PIPE_CAP_LOAD_CONSTBUF: - case PIPE_CAP_TILE_RASTER_ORDER: - return 0; - - case PIPE_CAP_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: - /* nonzero overrides defaults */ - return 0; - - case PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS: - case PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET: - case PIPE_CAP_CONTEXT_PRIORITY_MASK: - case PIPE_CAP_FENCE_SIGNAL: - case PIPE_CAP_CONSTBUF0_FLAGS: - case PIPE_CAP_PACKED_UNIFORMS: - case PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_TRIANGLES: - case PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_POINTS_LINES: - case PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_TRIANGLES: - case PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_POINTS_LINES: - case PIPE_CAP_MAX_CONSERVATIVE_RASTER_SUBPIXEL_PRECISION_BIAS: - case PIPE_CAP_CONSERVATIVE_RASTER_POST_DEPTH_COVERAGE: - case PIPE_CAP_CONSERVATIVE_RASTER_INNER_COVERAGE: - case PIPE_CAP_PROGRAMMABLE_SAMPLE_LOCATIONS: - case PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS: - case PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTERS: - case PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER_BUFFERS: - case PIPE_CAP_IMAGE_ATOMIC_FLOAT_ADD: - case PIPE_CAP_IMAGE_LOAD_FORMATTED: - case PIPE_CAP_IMAGE_STORE_FORMATTED: - case PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA: - case PIPE_CAP_FRAGMENT_SHADER_INTERLOCK: - case PIPE_CAP_ATOMIC_FLOAT_MINMAX: - case PIPE_CAP_SHADER_SAMPLES_IDENTICAL: - case PIPE_CAP_IMAGE_ATOMIC_INC_WRAP: - case PIPE_CAP_TGSI_TG4_COMPONENT_IN_SWIZZLE: - case PIPE_CAP_GLSL_ZERO_INIT: - case PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER: - return 0; - - case PIPE_CAP_MAX_GS_INVOCATIONS: - return 32; - - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: - return 1 << 27; - - case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: - case PIPE_CAP_MAX_TEXTURE_UPLOAD_MEMORY_BUDGET: - return 0; - - case PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET: - return 2047; - - case PIPE_CAP_SURFACE_SAMPLE_COUNT: - return 0; - case PIPE_CAP_DEST_SURFACE_SRGB_CONTROL: - return 1; - - case PIPE_CAP_MAX_VARYINGS: - return 8; - - case PIPE_CAP_COMPUTE_GRID_INFO_LAST_BLOCK: - return 0; - - case PIPE_CAP_COMPUTE_SHADER_DERIVATIVES: - return 0; - - case PIPE_CAP_THROTTLE: - return 1; - - case PIPE_CAP_TEXTURE_SHADOW_LOD: - return 0; - - case PIPE_CAP_GL_SPIRV: - case PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS: - return 0; - - case PIPE_CAP_DEMOTE_TO_HELPER_INVOCATION: - return 0; - - case PIPE_CAP_DMABUF: -#if defined(HAVE_LIBDRM) && (DETECT_OS_LINUX || DETECT_OS_BSD || DETECT_OS_MANAGARM) - fd = pscreen->get_screen_fd(pscreen); - if (fd != -1 && (drmGetCap(fd, DRM_CAP_PRIME, &cap) == 0)) - return cap; - else - return 0; -#else - return 0; -#endif - - case PIPE_CAP_CL_GL_SHARING: - return 0; - - case PIPE_CAP_TEXTURE_SHADOW_MAP: /* Enables ARB_shadow */ - return 1; - - case PIPE_CAP_FLATSHADE: - case PIPE_CAP_ALPHA_TEST: - case PIPE_CAP_POINT_SIZE_FIXED: - case PIPE_CAP_TWO_SIDED_COLOR: - case PIPE_CAP_CLIP_PLANES: - return 1; - - case PIPE_CAP_MAX_VERTEX_BUFFERS: - return 16; - - case PIPE_CAP_OPENCL_INTEGER_FUNCTIONS: - case PIPE_CAP_INTEGER_MULTIPLY_32X16: - return 0; - case PIPE_CAP_NIR_IMAGES_AS_DEREF: - return 1; - - case PIPE_CAP_FRONTEND_NOOP: - /* Enables INTEL_blackhole_render */ - return 0; - - case PIPE_CAP_PACKED_STREAM_OUTPUT: - return 1; - - case PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED: - case PIPE_CAP_PSIZ_CLAMPED: - case PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE: - return 0; - - case PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE: - return 512 * 1024; - - case PIPE_CAP_SYSTEM_SVM: - case PIPE_CAP_ALPHA_TO_COVERAGE_DITHER_CONTROL: - case PIPE_CAP_NO_CLIP_ON_COPY_TEX: - case PIPE_CAP_MAX_TEXTURE_MB: - case PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0: - return 0; - - case PIPE_CAP_TEXRECT: - return 1; - - case PIPE_CAP_SHADER_ATOMIC_INT64: - return 0; - - case PIPE_CAP_SAMPLER_REDUCTION_MINMAX: - case PIPE_CAP_SAMPLER_REDUCTION_MINMAX_ARB: - return 0; - - case PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH: - return 1; - - case PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART: - case PIPE_CAP_DRAW_VERTEX_STATE: - return 0; - - case PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS: - return 0; - - case PIPE_CAP_MAX_SPARSE_TEXTURE_SIZE: - case PIPE_CAP_MAX_SPARSE_3D_TEXTURE_SIZE: - case PIPE_CAP_MAX_SPARSE_ARRAY_TEXTURE_LAYERS: - case PIPE_CAP_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS: - case PIPE_CAP_QUERY_SPARSE_TEXTURE_RESIDENCY: - case PIPE_CAP_CLAMP_SPARSE_TEXTURE_LOD: - case PIPE_CAP_TIMELINE_SEMAPHORE_IMPORT: - case PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT: - return 0; - - case PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT: - return pscreen->get_shader_param(pscreen, PIPE_SHADER_FRAGMENT, - PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE); - - case PIPE_CAP_HARDWARE_GL_SELECT: { - /* =0: on CPU, always disabled - * >0: on GPU, enable by default, user can disable it manually - * <0: unknown, disable by default, user can enable it manually - */ - int accel = pscreen->caps.accelerated; - - return !!accel && debug_get_bool_option("MESA_HW_ACCEL_SELECT", accel > 0) && - /* internal geometry shader need indirect array access */ - pscreen->get_shader_param(pscreen, PIPE_SHADER_GEOMETRY, - PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR) && - /* internal geometry shader need SSBO support */ - pscreen->get_shader_param(pscreen, PIPE_SHADER_GEOMETRY, - PIPE_SHADER_CAP_MAX_SHADER_BUFFERS); - } - - case PIPE_CAP_QUERY_TIMESTAMP_BITS: - return 64; - - case PIPE_CAP_VALIDATE_ALL_DIRTY_STATES: - case PIPE_CAP_NULL_TEXTURES: - case PIPE_CAP_ASTC_VOID_EXTENTS_NEED_DENORM_FLUSH: - case PIPE_CAP_ASTC_DECODE_MODE: - case PIPE_CAP_HAS_CONST_BW: - return 0; - - case PIPE_CAP_TEXTURE_SAMPLER_INDEPENDENT: - /* this is expected of gallium drivers, but some just don't support it */ - return 1; - - case PIPE_CAP_PERFORMANCE_MONITOR: - return pscreen->get_driver_query_info && pscreen->get_driver_query_group_info && - pscreen->get_driver_query_group_info(pscreen, 0, NULL) != 0; - - case PIPE_CAP_SHADER_SUBGROUP_SIZE: - case PIPE_CAP_SHADER_SUBGROUP_SUPPORTED_STAGES: - case PIPE_CAP_SHADER_SUBGROUP_SUPPORTED_FEATURES: - case PIPE_CAP_SHADER_SUBGROUP_QUAD_ALL_STAGES: - case PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER: - return 0; - - default: - unreachable("bad PIPE_CAP_*"); - } -} - void u_init_pipe_screen_caps(struct pipe_screen *pscreen, int accel) { diff --git a/src/gallium/auxiliary/util/u_screen.h b/src/gallium/auxiliary/util/u_screen.h index 6454b838f63..ffef3c9225a 100644 --- a/src/gallium/auxiliary/util/u_screen.h +++ b/src/gallium/auxiliary/util/u_screen.h @@ -26,16 +26,11 @@ struct pipe_screen; struct pipe_screen_config; struct renderonly; -enum pipe_cap; #ifdef __cplusplus extern "C" { #endif -int -u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, - enum pipe_cap param); - void u_init_pipe_screen_caps(struct pipe_screen *pscreen, int accel); diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 1e75f61f2e1..1239fc601a6 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -694,303 +694,6 @@ enum pipe_conservative_raster_mode #define PIPE_SHADER_SUBGROUP_FEATURE_QUAD (1 << 7) #define PIPE_SHADER_SUBGROUP_NUM_FEATURES 8 -/** - * Implementation capabilities/limits which are queried through - * pipe_screen::get_param() - */ -enum pipe_cap -{ - PIPE_CAP_GRAPHICS, - PIPE_CAP_NPOT_TEXTURES, - PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS, - PIPE_CAP_ANISOTROPIC_FILTER, - PIPE_CAP_MAX_RENDER_TARGETS, - PIPE_CAP_OCCLUSION_QUERY, - PIPE_CAP_QUERY_TIME_ELAPSED, - PIPE_CAP_TEXTURE_SHADOW_MAP, - PIPE_CAP_TEXTURE_SWIZZLE, - PIPE_CAP_MAX_TEXTURE_2D_SIZE, - PIPE_CAP_MAX_TEXTURE_3D_LEVELS, - PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS, - PIPE_CAP_TEXTURE_MIRROR_CLAMP, - PIPE_CAP_BLEND_EQUATION_SEPARATE, - PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS, - PIPE_CAP_PRIMITIVE_RESTART, - /** subset of PRIMITIVE_RESTART where the restart index is always the fixed - * maximum value for the index type - */ - PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX, - /** blend enables and write masks per rendertarget */ - PIPE_CAP_INDEP_BLEND_ENABLE, - /** different blend funcs per rendertarget */ - PIPE_CAP_INDEP_BLEND_FUNC, - PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS, - PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT, - PIPE_CAP_FS_COORD_ORIGIN_LOWER_LEFT, - PIPE_CAP_FS_COORD_PIXEL_CENTER_HALF_INTEGER, - PIPE_CAP_FS_COORD_PIXEL_CENTER_INTEGER, - PIPE_CAP_DEPTH_CLIP_DISABLE, - PIPE_CAP_DEPTH_CLIP_DISABLE_SEPARATE, - PIPE_CAP_DEPTH_CLAMP_ENABLE, - PIPE_CAP_SHADER_STENCIL_EXPORT, - PIPE_CAP_VS_INSTANCEID, - PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR, - PIPE_CAP_FRAGMENT_COLOR_CLAMPED, - PIPE_CAP_MIXED_COLORBUFFER_FORMATS, - PIPE_CAP_SEAMLESS_CUBE_MAP, - PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE, - PIPE_CAP_MIN_TEXEL_OFFSET, - PIPE_CAP_MAX_TEXEL_OFFSET, - PIPE_CAP_CONDITIONAL_RENDER, - PIPE_CAP_TEXTURE_BARRIER, - PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS, - PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS, - PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME, - PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS, - PIPE_CAP_VERTEX_COLOR_UNCLAMPED, - PIPE_CAP_VERTEX_COLOR_CLAMPED, - PIPE_CAP_GLSL_FEATURE_LEVEL, - PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY, - PIPE_CAP_ESSL_FEATURE_LEVEL, - PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION, - PIPE_CAP_USER_VERTEX_BUFFERS, - PIPE_CAP_VERTEX_INPUT_ALIGNMENT, - PIPE_CAP_COMPUTE, - PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT, - PIPE_CAP_START_INSTANCE, - PIPE_CAP_QUERY_TIMESTAMP, - PIPE_CAP_TIMER_RESOLUTION, - PIPE_CAP_TEXTURE_MULTISAMPLE, - PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT, - PIPE_CAP_CUBE_MAP_ARRAY, - PIPE_CAP_TEXTURE_BUFFER_OBJECTS, - PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT, - PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY, - PIPE_CAP_TGSI_TEXCOORD, - PIPE_CAP_LINEAR_IMAGE_PITCH_ALIGNMENT, - PIPE_CAP_LINEAR_IMAGE_BASE_ADDRESS_ALIGNMENT, - PIPE_CAP_TEXTURE_TRANSFER_MODES, - PIPE_CAP_QUERY_PIPELINE_STATISTICS, - PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK, - PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT, - PIPE_CAP_MAX_VIEWPORTS, - PIPE_CAP_ENDIANNESS, - PIPE_CAP_MIXED_FRAMEBUFFER_SIZES, - PIPE_CAP_VS_LAYER_VIEWPORT, - PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES, - PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, - PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS, - PIPE_CAP_TEXTURE_GATHER_SM5, - PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT, - PIPE_CAP_FAKE_SW_MSAA, - PIPE_CAP_TEXTURE_QUERY_LOD, - PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET, - PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET, - PIPE_CAP_SAMPLE_SHADING, - PIPE_CAP_TEXTURE_GATHER_OFFSETS, - PIPE_CAP_VS_WINDOW_SPACE_POSITION, - PIPE_CAP_MAX_VERTEX_STREAMS, - PIPE_CAP_DRAW_INDIRECT, - PIPE_CAP_FS_FINE_DERIVATIVE, - PIPE_CAP_VENDOR_ID, - PIPE_CAP_DEVICE_ID, - PIPE_CAP_ACCELERATED, - PIPE_CAP_VIDEO_MEMORY, - PIPE_CAP_UMA, - PIPE_CAP_CONDITIONAL_RENDER_INVERTED, - PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE, - PIPE_CAP_SAMPLER_VIEW_TARGET, - PIPE_CAP_CLIP_HALFZ, - PIPE_CAP_POLYGON_OFFSET_CLAMP, - PIPE_CAP_MULTISAMPLE_Z_RESOLVE, - PIPE_CAP_RESOURCE_FROM_USER_MEMORY, - PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY, - PIPE_CAP_DEVICE_RESET_STATUS_QUERY, - PIPE_CAP_MAX_SHADER_PATCH_VARYINGS, - PIPE_CAP_TEXTURE_FLOAT_LINEAR, - PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR, - PIPE_CAP_DEPTH_BOUNDS_TEST, - PIPE_CAP_TEXTURE_QUERY_SAMPLES, - PIPE_CAP_FORCE_PERSAMPLE_INTERP, - PIPE_CAP_SHAREABLE_SHADERS, - PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS, - PIPE_CAP_CLEAR_SCISSORED, - PIPE_CAP_DRAW_PARAMETERS, - PIPE_CAP_SHADER_PACK_HALF_FLOAT, - PIPE_CAP_MULTI_DRAW_INDIRECT, - PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS, - PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE, - PIPE_CAP_FS_POSITION_IS_SYSVAL, - PIPE_CAP_FS_POINT_IS_SYSVAL, - PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL, - PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT, - PIPE_CAP_INVALIDATE_BUFFER, - PIPE_CAP_GENERATE_MIPMAP, - PIPE_CAP_STRING_MARKER, - PIPE_CAP_SURFACE_REINTERPRET_BLOCKS, - PIPE_CAP_QUERY_BUFFER_OBJECT, - PIPE_CAP_QUERY_MEMORY_INFO, - PIPE_CAP_PCI_GROUP, - PIPE_CAP_PCI_BUS, - PIPE_CAP_PCI_DEVICE, - PIPE_CAP_PCI_FUNCTION, - PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT, - PIPE_CAP_ROBUST_BUFFER_ACCESS_BEHAVIOR, - PIPE_CAP_CULL_DISTANCE, - PIPE_CAP_SHADER_GROUP_VOTE, - PIPE_CAP_MAX_WINDOW_RECTANGLES, - PIPE_CAP_POLYGON_OFFSET_UNITS_UNSCALED, - PIPE_CAP_VIEWPORT_SUBPIXEL_BITS, - PIPE_CAP_RASTERIZER_SUBPIXEL_BITS, - PIPE_CAP_MIXED_COLOR_DEPTH_BITS, - PIPE_CAP_SHADER_ARRAY_COMPONENTS, - PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS, - PIPE_CAP_NATIVE_FENCE_FD, - PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS, - PIPE_CAP_FBFETCH, - PIPE_CAP_LEGACY_MATH_RULES, - PIPE_CAP_FP16, - PIPE_CAP_DOUBLES, - PIPE_CAP_INT64, - PIPE_CAP_TGSI_TEX_TXF_LZ, - PIPE_CAP_SHADER_CLOCK, - PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE, - PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE, - PIPE_CAP_SHADER_BALLOT, - PIPE_CAP_TES_LAYER_VIEWPORT, - PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX, - PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION, - PIPE_CAP_POST_DEPTH_COVERAGE, - PIPE_CAP_BINDLESS_TEXTURE, - PIPE_CAP_NIR_SAMPLERS_AS_DEREF, - PIPE_CAP_QUERY_SO_OVERFLOW, - PIPE_CAP_MEMOBJ, - PIPE_CAP_LOAD_CONSTBUF, - PIPE_CAP_TILE_RASTER_ORDER, - PIPE_CAP_MAX_COMBINED_SHADER_OUTPUT_RESOURCES, - PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS, - PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET, - PIPE_CAP_CONTEXT_PRIORITY_MASK, - PIPE_CAP_FENCE_SIGNAL, - PIPE_CAP_CONSTBUF0_FLAGS, - PIPE_CAP_PACKED_UNIFORMS, - PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_TRIANGLES, - PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_POINTS_LINES, - PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_TRIANGLES, - PIPE_CAP_CONSERVATIVE_RASTER_PRE_SNAP_POINTS_LINES, - PIPE_CAP_MAX_CONSERVATIVE_RASTER_SUBPIXEL_PRECISION_BIAS, - PIPE_CAP_CONSERVATIVE_RASTER_POST_DEPTH_COVERAGE, - PIPE_CAP_CONSERVATIVE_RASTER_INNER_COVERAGE, - PIPE_CAP_PROGRAMMABLE_SAMPLE_LOCATIONS, - PIPE_CAP_MAX_GS_INVOCATIONS, - PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT, - PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE, - PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS, - PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTERS, - PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER_BUFFERS, - PIPE_CAP_MAX_TEXTURE_UPLOAD_MEMORY_BUDGET, - PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET, - PIPE_CAP_SURFACE_SAMPLE_COUNT, - PIPE_CAP_IMAGE_ATOMIC_FLOAT_ADD, - PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE, - PIPE_CAP_DEST_SURFACE_SRGB_CONTROL, - PIPE_CAP_MAX_VARYINGS, - PIPE_CAP_COMPUTE_GRID_INFO_LAST_BLOCK, - PIPE_CAP_COMPUTE_SHADER_DERIVATIVES, - PIPE_CAP_IMAGE_LOAD_FORMATTED, - PIPE_CAP_IMAGE_STORE_FORMATTED, - PIPE_CAP_THROTTLE, - PIPE_CAP_DMABUF, - PIPE_CAP_CL_GL_SHARING, - PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA, - PIPE_CAP_FRAGMENT_SHADER_INTERLOCK, - PIPE_CAP_FBFETCH_COHERENT, - PIPE_CAP_ATOMIC_FLOAT_MINMAX, - PIPE_CAP_TGSI_DIV, - PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD, - PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES, - PIPE_CAP_TEXTURE_SHADOW_LOD, - PIPE_CAP_SHADER_SAMPLES_IDENTICAL, - PIPE_CAP_IMAGE_ATOMIC_INC_WRAP, - PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF, - PIPE_CAP_GL_SPIRV, - PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS, - PIPE_CAP_DEMOTE_TO_HELPER_INVOCATION, - PIPE_CAP_TGSI_TG4_COMPONENT_IN_SWIZZLE, - PIPE_CAP_FLATSHADE, - PIPE_CAP_ALPHA_TEST, - PIPE_CAP_POINT_SIZE_FIXED, - PIPE_CAP_TWO_SIDED_COLOR, - PIPE_CAP_CLIP_PLANES, - PIPE_CAP_MAX_VERTEX_BUFFERS, - PIPE_CAP_OPENCL_INTEGER_FUNCTIONS, - PIPE_CAP_INTEGER_MULTIPLY_32X16, - /* Turn draw, dispatch, blit into NOOP */ - PIPE_CAP_FRONTEND_NOOP, - PIPE_CAP_NIR_IMAGES_AS_DEREF, - PIPE_CAP_PACKED_STREAM_OUTPUT, - PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED, - PIPE_CAP_PSIZ_CLAMPED, - PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE, - PIPE_CAP_VIEWPORT_SWIZZLE, - PIPE_CAP_SYSTEM_SVM, - PIPE_CAP_VIEWPORT_MASK, - PIPE_CAP_ALPHA_TO_COVERAGE_DITHER_CONTROL, - PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE, - PIPE_CAP_GLSL_ZERO_INIT, - PIPE_CAP_BLEND_EQUATION_ADVANCED, - PIPE_CAP_NIR_ATOMICS_AS_DEREF, - PIPE_CAP_NO_CLIP_ON_COPY_TEX, - PIPE_CAP_MAX_TEXTURE_MB, - PIPE_CAP_SHADER_ATOMIC_INT64, - /** For EGL_EXT_protected_surface */ - PIPE_CAP_DEVICE_PROTECTED_SURFACE, - PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0, - PIPE_CAP_GL_CLAMP, - PIPE_CAP_TEXRECT, - PIPE_CAP_SAMPLER_REDUCTION_MINMAX, - PIPE_CAP_SAMPLER_REDUCTION_MINMAX_ARB, - PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH, - PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART, - PIPE_CAP_SUPPORTED_PRIM_MODES, - PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART, - PIPE_CAP_PREFER_BACK_BUFFER_REUSE, - PIPE_CAP_DRAW_VERTEX_STATE, - PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS, - PIPE_CAP_MAX_SPARSE_TEXTURE_SIZE, - PIPE_CAP_MAX_SPARSE_3D_TEXTURE_SIZE, - PIPE_CAP_MAX_SPARSE_ARRAY_TEXTURE_LAYERS, - PIPE_CAP_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS, - PIPE_CAP_QUERY_SPARSE_TEXTURE_RESIDENCY, - PIPE_CAP_CLAMP_SPARSE_TEXTURE_LOD, - PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER, - PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT, - PIPE_CAP_HARDWARE_GL_SELECT, - PIPE_CAP_DITHERING, - PIPE_CAP_FBFETCH_ZS, - PIPE_CAP_TIMELINE_SEMAPHORE_IMPORT, - PIPE_CAP_QUERY_TIMESTAMP_BITS, - /** For EGL_EXT_protected_content */ - PIPE_CAP_DEVICE_PROTECTED_CONTEXT, - PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT, - PIPE_CAP_NULL_TEXTURES, - PIPE_CAP_ASTC_VOID_EXTENTS_NEED_DENORM_FLUSH, - PIPE_CAP_VALIDATE_ALL_DIRTY_STATES, - PIPE_CAP_HAS_CONST_BW, - PIPE_CAP_PERFORMANCE_MONITOR, - PIPE_CAP_TEXTURE_SAMPLER_INDEPENDENT, - PIPE_CAP_ASTC_DECODE_MODE, - /** For GL_KHR_shader_subgroup */ - PIPE_CAP_SHADER_SUBGROUP_SIZE, - PIPE_CAP_SHADER_SUBGROUP_SUPPORTED_STAGES, - PIPE_CAP_SHADER_SUBGROUP_SUPPORTED_FEATURES, - PIPE_CAP_SHADER_SUBGROUP_QUAD_ALL_STAGES, - PIPE_CAP_MULTIVIEW, - PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER, - PIPE_CAP_LAST, - /* XXX do not add caps after PIPE_CAP_LAST! */ -}; - enum pipe_point_size_lower_mode { PIPE_POINT_SIZE_LOWER_ALWAYS, PIPE_POINT_SIZE_LOWER_NEVER, @@ -1033,29 +736,6 @@ enum pipe_endian #endif }; -/** - * Implementation limits which are queried through - * pipe_screen::get_paramf() - */ -enum pipe_capf -{ - PIPE_CAPF_MIN_LINE_WIDTH, - PIPE_CAPF_MIN_LINE_WIDTH_AA, - PIPE_CAPF_MAX_LINE_WIDTH, - PIPE_CAPF_MAX_LINE_WIDTH_AA, - PIPE_CAPF_LINE_WIDTH_GRANULARITY, - PIPE_CAPF_MIN_POINT_SIZE, - PIPE_CAPF_MIN_POINT_SIZE_AA, - PIPE_CAPF_MAX_POINT_SIZE, - PIPE_CAPF_MAX_POINT_SIZE_AA, - PIPE_CAPF_POINT_SIZE_GRANULARITY, - PIPE_CAPF_MAX_TEXTURE_ANISOTROPY, - PIPE_CAPF_MAX_TEXTURE_LOD_BIAS, - PIPE_CAPF_MIN_CONSERVATIVE_RASTER_DILATE, - PIPE_CAPF_MAX_CONSERVATIVE_RASTER_DILATE, - PIPE_CAPF_CONSERVATIVE_RASTER_DILATE_GRANULARITY, -}; - /** Shader caps not specific to any single stage */ enum pipe_shader_cap { diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 1c831586bbb..6998b3c3f72 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -133,18 +133,6 @@ struct pipe_screen { */ const char *(*get_cl_cts_version)(struct pipe_screen *); - /** - * Query an integer-valued capability/parameter/limit - * \param param one of PIPE_CAP_x - */ - int (*get_param)(struct pipe_screen *, enum pipe_cap param); - - /** - * Query a float-valued capability/parameter/limit - * \param param one of PIPE_CAP_x - */ - float (*get_paramf)(struct pipe_screen *, enum pipe_capf param); - /** * Query a per-shader-stage integer-valued capability/parameter/limit * \param param one of PIPE_CAP_x