Merge pull request #274 from cdavis5e/render-target-size
vkRenderPass: Set renderTargetWidth and renderTargetHeight when possible.
This commit is contained in:
commit
21cb79df09
@ -257,6 +257,8 @@ void MVKCommandEncoder::beginMetalRenderPass() {
|
||||
getSubpass()->populateMTLRenderPassDescriptor(mtlRPDesc, _framebuffer, _clearValues, _isRenderingEntireAttachment);
|
||||
mtlRPDesc.visibilityResultBuffer = _occlusionQueryState.getVisibilityResultMTLBuffer();
|
||||
mtlRPDesc.renderTargetArrayLengthMVK = _framebuffer->getLayerCount();
|
||||
mtlRPDesc.renderTargetWidthMVK = _framebuffer->getExtent2D().width;
|
||||
mtlRPDesc.renderTargetHeightMVK = _framebuffer->getExtent2D().height;
|
||||
|
||||
_mtlRenderEncoder = [_mtlCmdBuffer renderCommandEncoderWithDescriptor: mtlRPDesc]; // not retained
|
||||
_mtlRenderEncoder.label = getMTLRenderCommandEncoderName();
|
||||
|
@ -31,4 +31,20 @@
|
||||
*/
|
||||
@property(nonatomic, readwrite) NSUInteger renderTargetArrayLengthMVK;
|
||||
|
||||
/**
|
||||
* Replacement for the renderTargetWidth property.
|
||||
*
|
||||
* This property allows support under all OS versions. Delegates to the renderTargetWidth
|
||||
* property if it is available. otherwise, returns 0 when read and does nothing when set.
|
||||
*/
|
||||
@property(nonatomic, readwrite) NSUInteger renderTargetWidthMVK;
|
||||
|
||||
/**
|
||||
* Replacement for the renderTargetHeight property.
|
||||
*
|
||||
* This property allows support under all OS versions. Delegates to the renderTargetHeight
|
||||
* property if it is available. otherwise, returns 0 when read and does nothing when set.
|
||||
*/
|
||||
@property(nonatomic, readwrite) NSUInteger renderTargetHeightMVK;
|
||||
|
||||
@end
|
||||
|
@ -41,4 +41,48 @@
|
||||
|
||||
}
|
||||
|
||||
-(NSUInteger) renderTargetWidthMVK {
|
||||
|
||||
#if MVK_MACOS
|
||||
return 0;
|
||||
#endif
|
||||
#if MVK_IOS
|
||||
if ([self respondsToSelector: @selector(renderTargetWidth)])
|
||||
return self.renderTargetWidth;
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
-(void) setRenderTargetWidthMVK: (NSUInteger) width {
|
||||
|
||||
#if MVK_IOS
|
||||
if ([self respondsToSelector: @selector(setRenderTargetWidth:)])
|
||||
self.renderTargetWidth = width;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
-(NSUInteger) renderTargetHeightMVK {
|
||||
|
||||
#if MVK_MACOS
|
||||
return 0;
|
||||
#endif
|
||||
#if MVK_IOS
|
||||
if ([self respondsToSelector: @selector(renderTargetHeight)])
|
||||
return self.renderTargetHeight;
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
-(void) setRenderTargetHeightMVK: (NSUInteger) height {
|
||||
|
||||
#if MVK_IOS
|
||||
if ([self respondsToSelector: @selector(setRenderTargetHeight:)])
|
||||
self.renderTargetHeight = height;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
Loading…
x
Reference in New Issue
Block a user