-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Msaa on rt [DO NOT MERGE] #13856
base: develop
Are you sure you want to change the base?
Msaa on rt [DO NOT MERGE] #13856
Conversation
Interface Check Report! WARNING this pull request has changed these public interfaces:
@@ -55249,8 +55249,9 @@
width: number;
height: number;
renderPassInfo: gfx.RenderPassInfo;
swapchain?: gfx.Swapchain;
+ sampleCount?: gfx.SampleCount;
}
/**
* @en The render window represents the render target, it could be an off screen frame buffer or the on screen buffer.
* @zh 渲染窗口代表了一个渲染目标,可以是离屏的帧缓冲,也可以是屏幕缓冲
@@ -57675,8 +57676,9 @@
name?: string;
width: number;
height: number;
passInfo?: gfx.RenderPassInfo;
+ sampleCount?: gfx.SampleCount;
}
export interface _cocos_asset_asset_manager_cache__ICache<T> {
add(key: string, val: T): T;
get(key: string): T | undefined | null;
@@ -58988,8 +58990,12 @@
glCurrentAttribLocs: boolean[];
texUnitCacheMap: Record<string, number>;
initialize(texUnit: number, bufferBindings: number, vertexAttributes: number): void;
}
+ export interface _cocos_gfx_webgl2_webgl2_gpu_objects__IWebGL2ResolveTexture {
+ glTexture: WebGLTexture | null;
+ dirty: boolean;
+ }
export interface _cocos_gfx_webgl2_webgl2_gpu_objects__IWebGL2GPUTexture {
type: gfx.TextureType;
format: gfx.Format;
usage: gfx.TextureUsage;
@@ -59001,8 +59007,9 @@
mipLevel: number;
samples: gfx.SampleCount;
flags: gfx.TextureFlags;
isPowerOf2: boolean;
+ resolve: _cocos_gfx_webgl2_webgl2_gpu_objects__IWebGL2ResolveTexture;
glTarget: GLenum;
glInternalFmt: GLenum;
glFormat: GLenum;
glType: GLenum;
|
@cocos-robot run test case |
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task DetailsNo task results found. |
#if CC_EDITOR | ||
#if defined(CC_USE_GLES3) || defined(CC_USE_GLES2) | ||
// by enabling this render target texture is mltisampled | ||
static constexpr bool MSAA_RT{false}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we put them in namespace cc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, will add it in coming commit.
fbInfo.height = gpuFBO->gpuColorTextures.empty() ? dsWidth : std::min(fbInfo.height, dsHeight); | ||
} | ||
|
||
fbInfo.glFramebuffer = device->framebufferCacheMap()->getFramebufferByHash(gpuFBO); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will get by hash cause collision?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hash by GLES2/3Texture
, in gfx thread there is no GFXAgent
or GFXValidator
get involved, it's safe if there's no placement new on GFXTexture
. To make it more reliable we can hash glTarget/glTexture/glRenderBuffer
additionally.
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
@hana-alice, Please check the result of
Task Details
|
test-case: cocos/cocos-test-projects#746 when rendertexture samplecount is not SampleCount::ONE:
above only occurs in msaa camera. |
add support for multipass msaa support. we have msaa but only works on single pass(otherwise GL rendering issues).
Changelog
now just create an additional msaa texture and implicilty replace the origin attachment slot in framegraph, and disable frabmebuffermsaa extension on windows.
Continuous Integration
This pull request:
Compatibility Check
This pull request: