Lines Matching defs:metadata
48 * @srf: The surface metadata.
199 return srf->metadata.num_sizes * sizeof(struct vmw_surface_dma);
213 return sizeof(struct vmw_surface_define) + srf->metadata.num_sizes *
262 cmd_len = sizeof(cmd->body) + srf->metadata.num_sizes *
273 cmd->body.surfaceFlags = (SVGA3dSurface1Flags)srf->metadata.flags;
274 cmd->body.format = srf->metadata.format;
276 cmd->body.face[i].numMipLevels = srf->metadata.mip_levels[i];
280 src_size = srf->metadata.sizes;
282 for (i = 0; i < srf->metadata.num_sizes; ++i, cmd_size++, src_size++) {
306 vmw_surface_get_desc(srf->metadata.format);
308 for (i = 0; i < srf->metadata.num_sizes; ++i) {
314 const struct drm_vmw_size *cur_size = &srf->metadata.sizes[i];
668 kfree(srf->metadata.sizes);
724 struct vmw_surface_metadata *metadata;
765 metadata = &srf->metadata;
769 metadata->flags = (SVGA3dSurfaceAllFlags)req->flags;
770 metadata->format = req->format;
771 metadata->scanout = req->scanout;
773 memcpy(metadata->mip_levels, req->mip_levels,
774 sizeof(metadata->mip_levels));
775 metadata->num_sizes = num_sizes;
776 metadata->sizes =
779 metadata->num_sizes, sizeof(*metadata->sizes));
780 if (IS_ERR(metadata->sizes)) {
781 ret = PTR_ERR(metadata->sizes);
784 srf->offsets = kmalloc_array(metadata->num_sizes, sizeof(*srf->offsets),
791 metadata->base_size = *srf->metadata.sizes;
792 metadata->autogen_filter = SVGA3D_TEX_FILTER_NONE;
793 metadata->multisample_count = 0;
794 metadata->multisample_pattern = SVGA3D_MS_PATTERN_NONE;
795 metadata->quality_level = SVGA3D_MS_QUALITY_NONE;
799 cur_size = metadata->sizes;
802 for (j = 0; j < metadata->mip_levels[i]; ++j) {
816 if (metadata->scanout &&
817 metadata->num_sizes == 1 &&
818 metadata->sizes[0].width == VMW_CURSOR_SNOOP_WIDTH &&
819 metadata->sizes[0].height == VMW_CURSOR_SNOOP_HEIGHT &&
820 metadata->format == VMW_CURSOR_SNOOP_FORMAT) {
890 kfree(metadata->sizes);
1005 rep->flags = (uint32_t)srf->metadata.flags;
1006 rep->format = srf->metadata.format;
1007 memcpy(rep->mip_levels, srf->metadata.mip_levels,
1008 sizeof(srf->metadata.mip_levels));
1013 ret = copy_to_user(user_sizes, &srf->metadata.base_size,
1014 sizeof(srf->metadata.base_size));
1017 srf->metadata.num_sizes);
1037 struct vmw_surface_metadata *metadata = &srf->metadata;
1072 if (has_sm5_context(dev_priv) && metadata->array_size > 0) {
1076 } else if (has_sm4_1_context(dev_priv) && metadata->array_size > 0) {
1080 } else if (metadata->array_size > 0) {
1100 if (has_sm5_context(dev_priv) && metadata->array_size > 0) {
1104 cmd4->body.surfaceFlags = metadata->flags;
1105 cmd4->body.format = metadata->format;
1106 cmd4->body.numMipLevels = metadata->mip_levels[0];
1107 cmd4->body.multisampleCount = metadata->multisample_count;
1108 cmd4->body.multisamplePattern = metadata->multisample_pattern;
1109 cmd4->body.qualityLevel = metadata->quality_level;
1110 cmd4->body.autogenFilter = metadata->autogen_filter;
1111 cmd4->body.size.width = metadata->base_size.width;
1112 cmd4->body.size.height = metadata->base_size.height;
1113 cmd4->body.size.depth = metadata->base_size.depth;
1114 cmd4->body.arraySize = metadata->array_size;
1115 cmd4->body.bufferByteStride = metadata->buffer_byte_stride;
1116 } else if (has_sm4_1_context(dev_priv) && metadata->array_size > 0) {
1120 cmd3->body.surfaceFlags = metadata->flags;
1121 cmd3->body.format = metadata->format;
1122 cmd3->body.numMipLevels = metadata->mip_levels[0];
1123 cmd3->body.multisampleCount = metadata->multisample_count;
1124 cmd3->body.multisamplePattern = metadata->multisample_pattern;
1125 cmd3->body.qualityLevel = metadata->quality_level;
1126 cmd3->body.autogenFilter = metadata->autogen_filter;
1127 cmd3->body.size.width = metadata->base_size.width;
1128 cmd3->body.size.height = metadata->base_size.height;
1129 cmd3->body.size.depth = metadata->base_size.depth;
1130 cmd3->body.arraySize = metadata->array_size;
1131 } else if (metadata->array_size > 0) {
1135 cmd2->body.surfaceFlags = metadata->flags;
1136 cmd2->body.format = metadata->format;
1137 cmd2->body.numMipLevels = metadata->mip_levels[0];
1138 cmd2->body.multisampleCount = metadata->multisample_count;
1139 cmd2->body.autogenFilter = metadata->autogen_filter;
1140 cmd2->body.size.width = metadata->base_size.width;
1141 cmd2->body.size.height = metadata->base_size.height;
1142 cmd2->body.size.depth = metadata->base_size.depth;
1143 cmd2->body.arraySize = metadata->array_size;
1148 cmd->body.surfaceFlags = metadata->flags;
1149 cmd->body.format = metadata->format;
1150 cmd->body.numMipLevels = metadata->mip_levels[0];
1151 cmd->body.multisampleCount = metadata->multisample_count;
1152 cmd->body.autogenFilter = metadata->autogen_filter;
1153 cmd->body.size.width = metadata->base_size.width;
1154 cmd->body.size.height = metadata->base_size.height;
1155 cmd->body.size.depth = metadata->base_size.depth;
1427 struct vmw_surface_metadata metadata = {0};
1478 metadata.flags = svga3d_flags_64;
1479 metadata.format = req->base.format;
1480 metadata.mip_levels[0] = req->base.mip_levels;
1481 metadata.multisample_count = req->base.multisample_count;
1482 metadata.multisample_pattern = req->multisample_pattern;
1483 metadata.quality_level = req->quality_level;
1484 metadata.array_size = req->base.array_size;
1485 metadata.buffer_byte_stride = req->buffer_byte_stride;
1486 metadata.num_sizes = 1;
1487 metadata.base_size = req->base.base_size;
1488 metadata.scanout = req->base.drm_surface_flags &
1492 ret = vmw_gb_surface_define(dev_priv, &metadata, &srf);
1600 struct vmw_surface_metadata *metadata;
1616 metadata = &srf->metadata;
1628 rep->creq.base.svga3d_flags = SVGA3D_FLAGS_LOWER_32(metadata->flags);
1629 rep->creq.base.format = metadata->format;
1630 rep->creq.base.mip_levels = metadata->mip_levels[0];
1632 rep->creq.base.multisample_count = metadata->multisample_count;
1633 rep->creq.base.autogen_filter = metadata->autogen_filter;
1634 rep->creq.base.array_size = metadata->array_size;
1636 rep->creq.base.base_size = metadata->base_size;
1646 SVGA3D_FLAGS_UPPER_32(metadata->flags);
1647 rep->creq.multisample_pattern = metadata->multisample_pattern;
1648 rep->creq.quality_level = metadata->quality_level;
1819 if (srf->metadata.format == SVGA3D_BUFFER)
1908 const struct vmw_surface_metadata *metadata = &srf->metadata;
1917 if (metadata->array_size)
1918 num_layers = metadata->array_size;
1919 else if (metadata->flags & SVGA3D_SURFACE_CUBEMAP)
1922 num_mip = metadata->mip_levels[0];
1935 num_samples = max_t(u32, 1, metadata->multisample_count);
1936 ret = vmw_surface_setup_cache(&metadata->base_size, metadata->format,
1994 * @metadata: Metadata representing the surface to create.
2006 struct vmw_surface_metadata *metadata;
2060 srf->metadata = *req;
2063 metadata = &srf->metadata;
2065 if (metadata->array_size)
2067 else if (metadata->flags & SVGA3D_SURFACE_CUBEMAP)
2070 if (metadata->flags & SVGA3D_SURFACE_MULTISAMPLE)
2071 sample_count = metadata->multisample_count;
2075 metadata->format,
2076 metadata->base_size,
2077 metadata->mip_levels[0],
2081 if (metadata->flags & SVGA3D_SURFACE_BIND_STREAM_OUTPUT)
2093 metadata->scanout &&
2094 metadata->base_size.width <= dev_priv->stdu_max_width &&
2095 metadata->base_size.height <= dev_priv->stdu_max_height)
2096 metadata->flags |= SVGA3D_SURFACE_SCREENTARGET;