Skip to content

Commit b5bc35f

Browse files
committed
mantle: added storing parent image handle for image views and subresourceRange for render target image views
1 parent cc5bc18 commit b5bc35f

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/mantle/mantle_image_view.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ GR_RESULT GR_STDCALL grCreateImageView(
103103
GrImageView* grImageView = malloc(sizeof(GrImageView));
104104
*grImageView = (GrImageView) {
105105
.grObj = { GR_OBJ_TYPE_IMAGE_VIEW, grDevice },
106+
.grParentImage = grImage,
106107
.imageView = vkImageView,
107108
.format = createInfo.format,
108109
};
@@ -166,13 +167,15 @@ GR_RESULT GR_STDCALL grCreateColorTargetView(
166167
GrColorTargetView* grColorTargetView = malloc(sizeof(GrColorTargetView));
167168
*grColorTargetView = (GrColorTargetView) {
168169
.grObj = { GR_OBJ_TYPE_COLOR_TARGET_VIEW, grDevice },
170+
.grParentImage = grImage,
169171
.imageView = vkImageView,
170172
.extent = {
171173
MIP(grImage->extent.width, pCreateInfo->mipLevel),
172174
MIP(grImage->extent.height, pCreateInfo->mipLevel),
173175
pCreateInfo->arraySize,
174176
},
175177
.format = createInfo.format,
178+
.subresourceRange = createInfo.subresourceRange,
176179
};
177180

178181
*pView = (GR_COLOR_TARGET_VIEW)grColorTargetView;
@@ -252,13 +255,15 @@ GR_RESULT GR_STDCALL grCreateDepthStencilView(
252255
GrDepthStencilView* grDepthStencilView = malloc(sizeof(GrDepthStencilView));
253256
*grDepthStencilView = (GrDepthStencilView) {
254257
.grObj = { GR_OBJ_TYPE_DEPTH_STENCIL_VIEW, grDevice },
258+
.grParentImage = grImage,
255259
.imageView = vkImageView,
256260
.extent = {
257261
MIP(grImage->extent.width, pCreateInfo->mipLevel),
258262
MIP(grImage->extent.height, pCreateInfo->mipLevel),
259263
pCreateInfo->arraySize,
260264
},
261265
.format = createInfo.format,
266+
.subresourceRange = createInfo.subresourceRange,
262267
};
263268

264269
*pView = (GR_DEPTH_STENCIL_VIEW)grDepthStencilView;

src/mantle/mantle_object.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,15 @@ typedef struct _GrColorBlendStateObject {
177177
float blendConstants[4];
178178
} GrColorBlendStateObject;
179179

180+
typedef struct _GrImage GrImage;
181+
180182
typedef struct _GrColorTargetView {
181183
GrObject grObj;
184+
GrImage* grParentImage;
182185
VkImageView imageView;
183186
VkExtent3D extent;
184187
VkFormat format;
188+
VkImageSubresourceRange subresourceRange;
185189
} GrColorTargetView;
186190

187191
typedef struct _GrDepthStencilStateObject {
@@ -199,9 +203,11 @@ typedef struct _GrDepthStencilStateObject {
199203

200204
typedef struct _GrDepthStencilView {
201205
GrObject grObj;
206+
GrImage* grParentImage;
202207
VkImageView imageView;
203208
VkExtent3D extent;
204209
VkFormat format;
210+
VkImageSubresourceRange subresourceRange;
205211
} GrDepthStencilView;
206212

207213
typedef struct _GrDescriptorSet {
@@ -263,6 +269,7 @@ typedef struct _GrImage {
263269

264270
typedef struct _GrImageView {
265271
GrObject grObj;
272+
GrImage* grParentImage;
266273
VkImageView imageView;
267274
VkFormat format;
268275
} GrImageView;

0 commit comments

Comments
 (0)