109
109
case PIPE_CAPF_MAX_POINT_WIDTH:
110
110
/* fall-through */
111
111
case PIPE_CAPF_MAX_POINT_WIDTH_AA:
112
/* Keep this to a reasonable size to avoid failures in
115
return SVGA_MAX_POINTSIZE;
112
return svgascreen->maxPointSize;
117
114
case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY:
118
115
if(!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY, &result))
122
119
case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS:
121
case PIPE_CAPF_GUARD_BAND_LEFT:
122
case PIPE_CAPF_GUARD_BAND_TOP:
123
case PIPE_CAPF_GUARD_BAND_RIGHT:
124
case PIPE_CAPF_GUARD_BAND_BOTTOM:
128
debug_printf("Unexpected PIPE_CAPF_ query %u\n", param);
161
165
case PIPE_CAP_TEXTURE_SWIZZLE:
167
case PIPE_CAP_USER_VERTEX_BUFFERS:
168
case PIPE_CAP_USER_INDEX_BUFFERS:
170
case PIPE_CAP_USER_CONSTANT_BUFFERS:
172
case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
164
175
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
201
212
case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
215
case PIPE_CAP_VERTEX_COLOR_UNCLAMPED:
216
return 1; /* The color outputs of vertex shaders are not clamped */
217
case PIPE_CAP_VERTEX_COLOR_CLAMPED:
218
return 0; /* The driver can't clamp vertex colors */
219
case PIPE_CAP_FRAGMENT_COLOR_CLAMPED:
220
return 0; /* The driver can't clamp fragment colors */
203
222
case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
223
return 1; /* expected for GL_ARB_framebuffer_object */
225
case PIPE_CAP_GLSL_FEATURE_LEVEL:
228
/* Unsupported features */
229
case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
230
case PIPE_CAP_TEXTURE_MIRROR_CLAMP:
232
case PIPE_CAP_SHADER_STENCIL_EXPORT:
233
case PIPE_CAP_DEPTH_CLIP_DISABLE:
234
case PIPE_CAP_SEAMLESS_CUBE_MAP:
235
case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
236
case PIPE_CAP_INDEP_BLEND_ENABLE:
237
case PIPE_CAP_INDEP_BLEND_FUNC:
238
case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS:
239
case PIPE_CAP_PRIMITIVE_RESTART:
240
case PIPE_CAP_TGSI_INSTANCEID:
241
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
242
case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS:
243
case PIPE_CAP_SCALED_RESOLVE:
244
case PIPE_CAP_MIN_TEXEL_OFFSET:
245
case PIPE_CAP_MAX_TEXEL_OFFSET:
246
case PIPE_CAP_CONDITIONAL_RENDER:
247
case PIPE_CAP_TEXTURE_BARRIER:
248
case PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS:
249
case PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS:
250
case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME:
251
case PIPE_CAP_TGSI_CAN_COMPACT_VARYINGS:
252
case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS:
253
case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY:
254
case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
255
case PIPE_CAP_COMPUTE:
256
case PIPE_CAP_START_INSTANCE:
257
case PIPE_CAP_QUERY_TIMESTAMP:
259
case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY:
263
debug_printf("Unexpected PIPE_CAP_ query %u\n", param);
211
267
static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param)
305
362
case PIPE_SHADER_CAP_INTEGERS:
307
case PIPE_SHADER_CAP_OUTPUT_READ:
364
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
367
debug_printf("Unexpected vertex shader query %u\n", param);
371
case PIPE_SHADER_GEOMETRY:
372
/* no support for geometry shaders at this time */
375
debug_printf("Unexpected shader type (%u) query\n", shader);
609
if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_POINT_SIZE, &result)) {
610
svgascreen->maxPointSize = 1.0F;
612
/* Keep this to a reasonable size to avoid failures in
615
svgascreen->maxPointSize = MIN2(result.f, 80.0f);
547
618
pipe_mutex_init(svgascreen->tex_mutex);
548
619
pipe_mutex_init(svgascreen->swc_mutex);