Commit 3e5fe285 by Jonah Ryan-Davis Committed by Alexis Hétu

Add missing attribute to eglGetConfigAttrib

EGL_ANGLE_iosurface_client_buffer added a new attribute to the config: EGL_BIND_TO_TEXTURE_TARGET_ANGLE, which needed to be properly exposed in the EGL frontend. Bug: chromium:1015454 Change-Id: I58881df18d711ed7974a0a06e53fed42b1f28638 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/41709 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent 05f5e0b3
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "Config.h" #include "Config.h"
#include "Display.h"
#include "common/debug.h" #include "common/debug.h"
#include <EGL/eglext.h> #include <EGL/eglext.h>
...@@ -192,6 +193,7 @@ Config::Config(sw::Format displayFormat, EGLint minInterval, EGLint maxInterval, ...@@ -192,6 +193,7 @@ Config::Config(sw::Format displayFormat, EGLint minInterval, EGLint maxInterval,
// the intent of EGL_ANDROID_framebuffer_target is to prevent any copies or conversions. // the intent of EGL_ANDROID_framebuffer_target is to prevent any copies or conversions.
mFramebufferTargetAndroid = (displayFormat == renderTargetFormat) ? EGL_TRUE : EGL_FALSE; mFramebufferTargetAndroid = (displayFormat == renderTargetFormat) ? EGL_TRUE : EGL_FALSE;
mRecordableAndroid = EGL_TRUE; mRecordableAndroid = EGL_TRUE;
mBindToTextureTargetANGLE = EGL_TEXTURE_RECTANGLE_ANGLE;
} }
EGLConfig Config::getHandle() const EGLConfig Config::getHandle() const
...@@ -398,6 +400,7 @@ bool ConfigSet::getConfigs(EGLConfig *configs, const EGLint *attribList, EGLint ...@@ -398,6 +400,7 @@ bool ConfigSet::getConfigs(EGLConfig *configs, const EGLint *attribList, EGLint
case EGL_CONFORMANT: match = (config->mConformant & attribIt->second) == attribIt->second; break; case EGL_CONFORMANT: match = (config->mConformant & attribIt->second) == attribIt->second; break;
case EGL_RECORDABLE_ANDROID: match = config->mRecordableAndroid == (EGLBoolean)attribIt->second; break; case EGL_RECORDABLE_ANDROID: match = config->mRecordableAndroid == (EGLBoolean)attribIt->second; break;
case EGL_FRAMEBUFFER_TARGET_ANDROID: match = config->mFramebufferTargetAndroid == (EGLBoolean)attribIt->second; break; case EGL_FRAMEBUFFER_TARGET_ANDROID: match = config->mFramebufferTargetAndroid == (EGLBoolean)attribIt->second; break;
case EGL_BIND_TO_TEXTURE_TARGET_ANGLE: match = config->mBindToTextureTargetANGLE == (EGLBoolean)attribIt->second; break;
// Ignored attributes // Ignored attributes
case EGL_MAX_PBUFFER_WIDTH: case EGL_MAX_PBUFFER_WIDTH:
......
...@@ -76,6 +76,7 @@ public: ...@@ -76,6 +76,7 @@ public:
EGLBoolean mRecordableAndroid; // EGL_ANDROID_recordable EGLBoolean mRecordableAndroid; // EGL_ANDROID_recordable
EGLBoolean mFramebufferTargetAndroid; // EGL_ANDROID_framebuffer_target EGLBoolean mFramebufferTargetAndroid; // EGL_ANDROID_framebuffer_target
EGLenum mBindToTextureTargetANGLE; // EGL_ANGLE_iosurface_client_buffer
}; };
struct CompareConfig struct CompareConfig
......
...@@ -279,6 +279,7 @@ bool Display::getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value) ...@@ -279,6 +279,7 @@ bool Display::getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value)
case EGL_MAX_PBUFFER_PIXELS: *value = configuration->mMaxPBufferPixels; break; case EGL_MAX_PBUFFER_PIXELS: *value = configuration->mMaxPBufferPixels; break;
case EGL_RECORDABLE_ANDROID: *value = configuration->mRecordableAndroid; break; case EGL_RECORDABLE_ANDROID: *value = configuration->mRecordableAndroid; break;
case EGL_FRAMEBUFFER_TARGET_ANDROID: *value = configuration->mFramebufferTargetAndroid; break; case EGL_FRAMEBUFFER_TARGET_ANDROID: *value = configuration->mFramebufferTargetAndroid; break;
case EGL_BIND_TO_TEXTURE_TARGET_ANGLE: *value = configuration->mBindToTextureTargetANGLE; break;
default: default:
return false; return false;
} }
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#define EGL_TEXTURE_RECTANGLE_ANGLE 0x345B #define EGL_TEXTURE_RECTANGLE_ANGLE 0x345B
#define EGL_TEXTURE_TYPE_ANGLE 0x345C #define EGL_TEXTURE_TYPE_ANGLE 0x345C
#define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D #define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
#define EGL_BIND_TO_TEXTURE_TARGET_ANGLE 0x348D
#endif // EGL_ANGLE_iosurface_client_buffer #endif // EGL_ANGLE_iosurface_client_buffer
namespace egl namespace egl
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment