Enable texture multisample extension on ES3 D3D

Update maxIntegerSamples, maxDepthTextureSamples and maxColorTextureSamples
if the extension is enabled on ES 3.0.

TEST=TextureMultisampleTest.*
TEST=NegativeTextureMultisampleTest.Negtive*

BUG=angleproject:2275

Change-Id: I8c215f990ff5d93611b1bc89de9a43f3d392e8d4
Reviewed-on: https://chromium-review.googlesource.com/c/1319251
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
This commit is contained in:
Yizhou Jiang 2018-11-06 15:52:33 +08:00 коммит произвёл Commit Bot
Родитель d856ca48f4
Коммит 2fa2147f4c
3 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -3401,7 +3401,7 @@ void Context::updateCaps()
// OpenGL ES does not support multisampling with non-rendererable formats
// OpenGL ES 3.0 or prior does not support multisampling with integer formats
if (!formatCaps.renderbuffer ||
(getClientVersion() < ES_3_1 &&
(getClientVersion() < ES_3_1 && !mSupportedExtensions.textureMultisample &&
(formatInfo.componentType == GL_INT || formatInfo.componentType == GL_UNSIGNED_INT)))
{
formatCaps.sampleCounts.clear();
@ -3423,7 +3423,7 @@ void Context::updateCaps()
}
// Handle GLES 3.1 MAX_*_SAMPLES values similarly to MAX_SAMPLES.
if (getClientVersion() >= ES_3_1)
if (getClientVersion() >= ES_3_1 || mSupportedExtensions.textureMultisample)
{
// GLES 3.1 section 9.2.5: "Implementations must support creation of renderbuffers
// in these required formats with up to the value of MAX_SAMPLES multisamples, with

Просмотреть файл

@ -1629,6 +1629,7 @@ void GenerateCaps(ID3D11Device *device,
(extensions->multiview && extensions->textureStorageMultisample2DArray);
extensions->copyTexture3d = true;
extensions->textureBorderClamp = true;
extensions->textureMultisample = true;
// D3D11 Feature Level 10_0+ uses SV_IsFrontFace in HLSL to emulate gl_FrontFacing.
// D3D11 Feature Level 9_3 doesn't support SV_IsFrontFace, and has no equivalent, so can't

Просмотреть файл

@ -414,7 +414,6 @@ TEST_P(TextureMultisampleTest, CheckSamplePositions)
// Test textureSize and texelFetch when using ANGLE_texture_multisample extension
TEST_P(TextureMultisampleTest, SimpleTexelFetch)
{
ANGLE_SKIP_TEST_IF(IsD3D11());
ANGLE_SKIP_TEST_IF(!ensureExtensionEnabled("GL_ANGLE_texture_multisample"));
ANGLE_GL_PROGRAM(texelFetchProgram, essl3_shaders::vs::Passthrough(),