Home | History | Annotate | Download | only in isl

Lines Matching full:info

238                             const struct isl_surf_fill_state_info *restrict info)
242 s.SurfaceType = get_surftype(info->surf->dim, info->view->usage);
244 if (info->view->usage & ISL_SURF_USAGE_RENDER_TARGET_BIT)
245 assert(isl_format_supports_rendering(dev->info, info->view->format));
246 else if (info->view->usage & ISL_SURF_USAGE_TEXTURE_BIT)
247 assert(isl_format_supports_sampling(dev->info, info->view->format));
254 if (info->surf->dim == ISL_SURF_DIM_1D)
255 assert(!isl_format_is_compressed(info->view->format));
257 s.SurfaceFormat = info->view->format;
263 assert(info->surf->logical_level0_px.width > 0 &&
264 info->surf->logical_level0_px.height > 0);
266 s.Width = info->surf->logical_level0_px.width - 1;
267 s.Height = info->surf->logical_level0_px.height - 1;
281 if (GEN_GEN == 6 && (info->view->usage & ISL_SURF_USAGE_RENDER_TARGET_BIT) &&
282 info->surf->samples > 1 &&
283 (info->surf->logical_level0_px.height % 4) == 1)
298 (info->view->usage & ISL_SURF_USAGE_TEXTURE_BIT) &&
299 info->surf->samples > 1)
300 assert(info->view->base_array_layer == 0);
302 s.MinimumArrayElement = info->view->base_array_layer;
313 s.Depth = info->view->array_len - 1;
320 if (info->view->usage & (ISL_SURF_USAGE_RENDER_TARGET_BIT |
325 s.MinimumArrayElement = info->view->base_array_layer;
327 s.Depth = info->view->array_len / 6 - 1;
328 if (info->view->usage & (ISL_SURF_USAGE_RENDER_TARGET_BIT |
338 s.Depth = info->surf->logical_level0_px.depth - 1;
358 if (info->view->usage & (ISL_SURF_USAGE_RENDER_TARGET_BIT |
360 s.MinimumArrayElement = info->view->base_array_layer;
361 s.RenderTargetViewExtent = info->view->array_len - 1;
369 s.SurfaceArray = info->surf->dim != ISL_SURF_DIM_3D;
372 if (info->view->usage & ISL_SURF_USAGE_RENDER_TARGET_BIT) {
379 s.MIPCountLOD = info->view->base_level;
386 s.SurfaceMinLOD = info->view->base_level;
387 s.MIPCountLOD = MAX(info->view->levels, 1) - 1;
399 const struct isl_extent3d image_align = get_image_alignment(info->surf);
406 if (info->surf->dim_layout == ISL_DIM_LAYOUT_GEN9_1D) {
410 s.SurfacePitch = info->surf->row_pitch - 1;
414 s.SurfaceQPitch = get_qpitch(info->surf) >> 2;
416 s.SurfaceArraySpacing = info->surf->array_pitch_span ==
421 s.TileMode = isl_to_gen_tiling[info->surf->tiling];
423 s.TiledSurface = info->surf->tiling != ISL_TILING_LINEAR,
424 s.TileWalk = info->surf->tiling == ISL_TILING_Y0 ? TILEWALK_YMAJOR :
434 if (info->view->usage & ISL_SURF_USAGE_CUBE_BIT) {
448 s.NumberofMultisamples = ffs(info->surf->samples) - 1;
451 isl_to_gen_multisample_layout[info->surf->msaa_layout];
456 s.ShaderChannelSelectRed = info->view->swizzle.r;
457 s.ShaderChannelSelectGreen = info->view->swizzle.g;
458 s.ShaderChannelSelectBlue = info->view->swizzle.b;
459 s.ShaderChannelSelectAlpha = info->view->swizzle.a;
462 s.SurfaceBaseAddress = info->address;
465 s.MOCS = info->mocs;
469 if (info->x_offset_sa != 0 || info->y_offset_sa != 0) {
474 assert(info->surf->tiling != ISL_TILING_LINEAR);
475 assert(info->surf->dim == ISL_SURF_DIM_2D);
476 assert(isl_is_pow2(isl_format_get_layout(info->view->format)->bpb));
477 assert(info->surf->levels == 1);
478 assert(info->surf->logical_level0_px.array_len == 1);
479 assert(info->aux_usage == ISL_AUX_USAGE_NONE);
483 assert(info->surf->samples == 1);
484 if (isl_format_get_layout(info->view->format)->bpb == 8)
485 assert(info->x_offset_sa % 16 == 0);
486 if (isl_format_get_layout(info->view->format)->bpb == 16)
487 assert(info->x_offset_sa % 8 == 0);
497 assert(info->x_offset_sa % x_div == 0);
498 assert(info->y_offset_sa % y_div == 0);
499 s.XOffset = info->x_offset_sa / x_div;
500 s.YOffset = info->y_offset_sa / y_div;
502 assert(info->x_offset_sa == 0);
503 assert(info->y_offset_sa == 0);
507 if (info->aux_surf && info->aux_usage != ISL_AUX_USAGE_NONE) {
509 isl_surf_get_tile_info(dev, info->aux_surf, &tile_info);
511 info->aux_surf->row_pitch / tile_info.phys_extent_B.width;
514 assert(GEN_GEN >= 9 || info->aux_usage != ISL_AUX_USAGE_CCS_E);
521 isl_surf_get_array_pitch_sa_rows(info->aux_surf) >> 2;
522 s.AuxiliarySurfaceBaseAddress = info->aux_address;
524 if (info->aux_usage == ISL_AUX_USAGE_HIZ) {
526 assert(info->surf->samples == 1);
529 assert(info->surf->dim != ISL_SURF_DIM_3D);
532 switch (info->view->format) {
543 s.AuxiliarySurfaceMode = isl_to_gen_aux_mode[info->aux_usage];
545 assert(info->aux_usage == ISL_AUX_USAGE_MCS ||
546 info->aux_usage == ISL_AUX_USAGE_CCS_D);
547 s.MCSBaseAddress = info->aux_address,
561 if (GEN_GEN >= 9 || dev->info->is_cherryview) {
562 switch (info->view->format) {
578 if (GEN_GEN >= 9 && info->aux_usage == ISL_AUX_USAGE_HIZ)
585 if (info->aux_usage != ISL_AUX_USAGE_NONE) {
587 s.RedClearColor = info->clear_color.u32[0];
588 s.GreenClearColor = info->clear_color.u32[1];
589 s.BlueClearColor = info->clear_color.u32[2];
590 s.AlphaClearColor = info->clear_color.u32[3];
595 if (isl_format_has_int_channel(info->view->format)) {
597 assert(info->clear_color.u32[i] == 0 ||
598 info->clear_color.u32[i] == 1);
600 s.RedClearColor = info->clear_color.u32[0] != 0;
601 s.GreenClearColor = info->clear_color.u32[1] != 0;
602 s.BlueClearColor = info->clear_color.u32[2] != 0;
603 s.AlphaClearColor = info->clear_color.u32[3] != 0;
606 assert(info->clear_color.f32[i] == 0.0f ||
607 info->clear_color.f32[i] == 1.0f);
609 s.RedClearColor = info->clear_color.f32[0] != 0.0f;
610 s.GreenClearColor = info->clear_color.f32[1] != 0.0f;
611 s.BlueClearColor = info->clear_color.f32[2] != 0.0f;
612 s.AlphaClearColor = info->clear_color.f32[3] != 0.0f;
622 const struct isl_buffer_fill_state_info *restrict info)
624 uint32_t num_elements = info->size / info->stride;
634 if (info->format == ISL_FORMAT_RAW) {
647 s.SurfaceFormat = info->format;
667 s.SurfacePitch = info->stride - 1;
685 s.SurfaceBaseAddress = info->address;
687 s.MOCS = info->mocs;