mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-07 06:09:57 +03:00
EGL: Add code-gen for dmabuf extensions
Add code-gen for EGL_EXT_image_dma_buf_import and EGL_EXT_image_dma_buf_import_modifiers. Bug: angleproject:7065 Change-Id: Ib1bd2a881f11e96b1e7e5128975bdba3bdc41e0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3495122 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
committed by
Angle LUCI CQ
parent
ef6688c9e2
commit
b92ebdb73a
@@ -26,7 +26,7 @@
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"474989440f980a079935dff3ab4d7b24",
|
||||
"scripts/registry_xml.py":
|
||||
"2d6924d398a790f4ef80473c0279eda5",
|
||||
"0f5d6e43b21fa54987644b9f4d1411ce",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libANGLE/gen_extensions.py":
|
||||
|
||||
@@ -12,25 +12,25 @@
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"474989440f980a079935dff3ab4d7b24",
|
||||
"scripts/registry_xml.py":
|
||||
"2d6924d398a790f4ef80473c0279eda5",
|
||||
"0f5d6e43b21fa54987644b9f4d1411ce",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libEGL/egl_loader_autogen.cpp":
|
||||
"4b342bb3332ab8fca34b085c2d9df39c",
|
||||
"cac833213d037fa8d8a81c39b6bb1c56",
|
||||
"src/libEGL/egl_loader_autogen.h":
|
||||
"e4ef16c990b67a168f5c668eaf0b63ed",
|
||||
"6c1243c5956193a13ebc6658646877f2",
|
||||
"src/tests/restricted_traces/trace_egl_loader_autogen.cpp":
|
||||
"3a4117b9e6c08e07bb50bae047ba4ec2",
|
||||
"31143ac4b21d32854fa6603673c93937",
|
||||
"src/tests/restricted_traces/trace_egl_loader_autogen.h":
|
||||
"f1445400e80230d1c3eedee627e555c3",
|
||||
"372c734043680041148d75e1810d63c5",
|
||||
"src/tests/restricted_traces/trace_gles_loader_autogen.cpp":
|
||||
"6ef6645cd56919d025fbe1001405cfd5",
|
||||
"src/tests/restricted_traces/trace_gles_loader_autogen.h":
|
||||
"5f75c66513b6d4ee86e088ed60b480da",
|
||||
"util/egl_loader_autogen.cpp":
|
||||
"0dab7cf0826a618dc046c1c78f3ac7c9",
|
||||
"7134e5535bf520664b33ba5a34e46351",
|
||||
"util/egl_loader_autogen.h":
|
||||
"fe0bb83a26e3e1a09e8bd9381cd7b295",
|
||||
"07612f2570e6ed43f8ccdf32934d73b8",
|
||||
"util/gles_loader_autogen.cpp":
|
||||
"965995d6ce0d7bc6fec6a675190cafae",
|
||||
"util/gles_loader_autogen.h":
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"474989440f980a079935dff3ab4d7b24",
|
||||
"scripts/registry_xml.py":
|
||||
"2d6924d398a790f4ef80473c0279eda5",
|
||||
"0f5d6e43b21fa54987644b9f4d1411ce",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/common/entry_points_enum_autogen.cpp":
|
||||
"08bf77782e6fb467efa2f95f64dea83c",
|
||||
"f3b879957997e733a081b8654073b7df",
|
||||
"src/common/entry_points_enum_autogen.h":
|
||||
"2357352bf4767a07b243ad4afab73dcd",
|
||||
"7e6fb57b6bd3873723142a9c4fb714cc",
|
||||
"src/libANGLE/Context_gl_1_autogen.h":
|
||||
"115d224fd28b0bc2b2800354bb57fcf3",
|
||||
"src/libANGLE/Context_gl_2_autogen.h":
|
||||
@@ -70,13 +70,13 @@
|
||||
"src/libANGLE/capture/frame_capture_replay_autogen.cpp":
|
||||
"e2e6419d43bc96a65b8a8e94222a910a",
|
||||
"src/libANGLE/capture/frame_capture_utils_autogen.cpp":
|
||||
"96307bd69a648f1b023956c0008623c5",
|
||||
"90caecf105e7f7a500561d4c5447844b",
|
||||
"src/libANGLE/capture/frame_capture_utils_autogen.h":
|
||||
"840e4ad7d8610d16106bdd66e21798a5",
|
||||
"c7b47636edf70a086788d26505ed4050",
|
||||
"src/libANGLE/validationCL_autogen.h":
|
||||
"0022d0cdb6a9e2ef4a59b71164f62333",
|
||||
"src/libANGLE/validationEGL_autogen.h":
|
||||
"d9ff034bf52b03cb1cd6132c60639f55",
|
||||
"9efb40631ea8b4779167f3ecab1b5794",
|
||||
"src/libANGLE/validationES1_autogen.h":
|
||||
"99af5e328690ae78d7724a80e94cfac5",
|
||||
"src/libANGLE/validationES2_autogen.h":
|
||||
@@ -98,9 +98,9 @@
|
||||
"src/libANGLE/validationGL4_autogen.h":
|
||||
"0477150779497ad894973f0e4b830d6b",
|
||||
"src/libEGL/libEGL_autogen.cpp":
|
||||
"0309da002572331ad0fc7b2eefe8c323",
|
||||
"f94c18dc41b0ce55d56dc002a32bb6b7",
|
||||
"src/libEGL/libEGL_autogen.def":
|
||||
"41185b1718ccc704c6fdc841465cd43f",
|
||||
"fdd4a110a95c3a2fed33c4b5f110650d",
|
||||
"src/libGL/entry_points_gl_1_autogen.cpp":
|
||||
"8148ccb597c5c77db7d5e532c7152243",
|
||||
"src/libGL/entry_points_gl_1_autogen.h":
|
||||
@@ -124,7 +124,7 @@
|
||||
"src/libGLESv2/cl_stubs_autogen.h":
|
||||
"6d880c6b65284192b5842f0e42ad2741",
|
||||
"src/libGLESv2/egl_ext_stubs_autogen.h":
|
||||
"5cbb0f33441eb1e272726740b1b69090",
|
||||
"0e33e7ae4c96995f674bff8cf92825ff",
|
||||
"src/libGLESv2/egl_get_labeled_object_data.json":
|
||||
"2f4148b2ddf34e62670e32c5e6da4937",
|
||||
"src/libGLESv2/egl_stubs_autogen.h":
|
||||
@@ -138,9 +138,9 @@
|
||||
"src/libGLESv2/entry_points_egl_autogen.h":
|
||||
"3bc7a8df9deadd7cfd615d0cfad0c6a8",
|
||||
"src/libGLESv2/entry_points_egl_ext_autogen.cpp":
|
||||
"0e046a3c25ed8d22db70e01124c1f523",
|
||||
"c9d5df7d303e13fe9b3f78dafa22eff0",
|
||||
"src/libGLESv2/entry_points_egl_ext_autogen.h":
|
||||
"8255e4f7021688396bd814c4b6cadfd6",
|
||||
"df2219883f43fc1c7a2b568f4f49185a",
|
||||
"src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
|
||||
"4cb9f5d56c003d1627365cfa34470edc",
|
||||
"src/libGLESv2/entry_points_gles_1_0_autogen.h":
|
||||
@@ -168,11 +168,11 @@
|
||||
"src/libGLESv2/libGLESv2_autogen.cpp":
|
||||
"1144a2cd0bac4dbb8d50976e03945933",
|
||||
"src/libGLESv2/libGLESv2_autogen.def":
|
||||
"354fb8270e17b5e41ac754ed9cf96581",
|
||||
"346035f14b502f3b314b245d56f6bb47",
|
||||
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
|
||||
"cb5261d868e168d0f30bf66d3a5ff819",
|
||||
"570799d87e11304b31b2944ead14cf28",
|
||||
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
|
||||
"351f9f26260b7b39f1fc808cdbe9c5e2",
|
||||
"a5c6aa52b7504045923bc8bf99c2810a",
|
||||
"src/libOpenCL/libOpenCL_autogen.cpp":
|
||||
"10849978c910dc1af5dd4f0c815d1581"
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"474989440f980a079935dff3ab4d7b24",
|
||||
"scripts/registry_xml.py":
|
||||
"2d6924d398a790f4ef80473c0279eda5",
|
||||
"0f5d6e43b21fa54987644b9f4d1411ce",
|
||||
"src/libANGLE/capture/gl_enum_utils_autogen.cpp":
|
||||
"71454594bd3b1bf33aa8350942092669",
|
||||
"src/libANGLE/capture/gl_enum_utils_autogen.h":
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"474989440f980a079935dff3ab4d7b24",
|
||||
"scripts/registry_xml.py":
|
||||
"2d6924d398a790f4ef80473c0279eda5",
|
||||
"0f5d6e43b21fa54987644b9f4d1411ce",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libGL/proc_table_wgl_autogen.cpp":
|
||||
@@ -20,7 +20,7 @@
|
||||
"src/libGLESv2/proc_table_cl_autogen.cpp":
|
||||
"ed003b0f041aaaa35b67d3fe07e61f91",
|
||||
"src/libGLESv2/proc_table_egl_autogen.cpp":
|
||||
"5026f86299a02a4b1440295b46f4dc77",
|
||||
"4c157ab91896b7c59c0cc6aaef73de88",
|
||||
"src/libOpenCL/libOpenCL_autogen.map":
|
||||
"bc5f5cf48227149ed321258a16eff1d7"
|
||||
}
|
||||
@@ -312,6 +312,8 @@ supported_egl_extensions = [
|
||||
"EGL_EXT_gl_colorspace_display_p3_passthrough",
|
||||
"EGL_EXT_gl_colorspace_scrgb",
|
||||
"EGL_EXT_gl_colorspace_scrgb_linear",
|
||||
"EGL_EXT_image_dma_buf_import",
|
||||
"EGL_EXT_image_dma_buf_import_modifiers",
|
||||
"EGL_EXT_image_gl_colorspace",
|
||||
"EGL_EXT_pixel_format_float",
|
||||
"EGL_EXT_platform_base",
|
||||
|
||||
@@ -392,6 +392,10 @@ const char *GetEntryPointName(EntryPoint ep)
|
||||
return "eglQueryDisplayAttribANGLE";
|
||||
case EntryPoint::EGLQueryDisplayAttribEXT:
|
||||
return "eglQueryDisplayAttribEXT";
|
||||
case EntryPoint::EGLQueryDmaBufFormatsEXT:
|
||||
return "eglQueryDmaBufFormatsEXT";
|
||||
case EntryPoint::EGLQueryDmaBufModifiersEXT:
|
||||
return "eglQueryDmaBufModifiersEXT";
|
||||
case EntryPoint::EGLQueryStreamKHR:
|
||||
return "eglQueryStreamKHR";
|
||||
case EntryPoint::EGLQueryStreamu64KHR:
|
||||
|
||||
@@ -202,6 +202,8 @@ enum class EntryPoint
|
||||
EGLQueryDeviceStringEXT,
|
||||
EGLQueryDisplayAttribANGLE,
|
||||
EGLQueryDisplayAttribEXT,
|
||||
EGLQueryDmaBufFormatsEXT,
|
||||
EGLQueryDmaBufModifiersEXT,
|
||||
EGLQueryStreamKHR,
|
||||
EGLQueryStreamu64KHR,
|
||||
EGLQueryString,
|
||||
|
||||
@@ -65,6 +65,9 @@ void WriteParamCaptureReplay(std::ostream &os, const CallCapture &call, const Pa
|
||||
case ParamType::TEGLAttribKHR:
|
||||
WriteParamValueReplay<ParamType::TEGLAttribKHR>(os, call, param.value.EGLAttribKHRVal);
|
||||
break;
|
||||
case ParamType::TEGLBoolean:
|
||||
WriteParamValueReplay<ParamType::TEGLBoolean>(os, call, param.value.EGLBooleanVal);
|
||||
break;
|
||||
case ParamType::TEGLClientBuffer:
|
||||
WriteParamValueReplay<ParamType::TEGLClientBuffer>(os, call,
|
||||
param.value.EGLClientBufferVal);
|
||||
@@ -612,6 +615,8 @@ const char *ParamTypeToString(ParamType paramType)
|
||||
return "GLenum";
|
||||
case ParamType::TEGLAttribKHR:
|
||||
return "GLenum";
|
||||
case ParamType::TEGLBoolean:
|
||||
return "GLenum";
|
||||
case ParamType::TEGLClientBuffer:
|
||||
return "GLenum";
|
||||
case ParamType::TEGLConfig:
|
||||
|
||||
@@ -30,6 +30,7 @@ enum class ParamType
|
||||
TDrawElementsType,
|
||||
TEGLAttrib,
|
||||
TEGLAttribKHR,
|
||||
TEGLBoolean,
|
||||
TEGLClientBuffer,
|
||||
TEGLConfig,
|
||||
TEGLContext,
|
||||
@@ -172,7 +173,7 @@ enum class ParamType
|
||||
TvoidPointerPointer,
|
||||
};
|
||||
|
||||
constexpr uint32_t kParamTypeCount = 153;
|
||||
constexpr uint32_t kParamTypeCount = 154;
|
||||
|
||||
union ParamValue
|
||||
{
|
||||
@@ -189,6 +190,7 @@ union ParamValue
|
||||
gl::DrawElementsType DrawElementsTypeVal;
|
||||
EGLAttrib EGLAttribVal;
|
||||
EGLAttribKHR EGLAttribKHRVal;
|
||||
EGLBoolean EGLBooleanVal;
|
||||
EGLClientBuffer EGLClientBufferVal;
|
||||
EGLConfig EGLConfigVal;
|
||||
EGLContext EGLContextVal;
|
||||
@@ -422,6 +424,12 @@ inline EGLAttribKHR GetParamVal<ParamType::TEGLAttribKHR, EGLAttribKHR>(const Pa
|
||||
return value.EGLAttribKHRVal;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline EGLBoolean GetParamVal<ParamType::TEGLBoolean, EGLBoolean>(const ParamValue &value)
|
||||
{
|
||||
return value.EGLBooleanVal;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline EGLClientBuffer GetParamVal<ParamType::TEGLClientBuffer, EGLClientBuffer>(
|
||||
const ParamValue &value)
|
||||
@@ -1380,6 +1388,8 @@ T AccessParamValue(ParamType paramType, const ParamValue &value)
|
||||
return GetParamVal<ParamType::TEGLAttrib, T>(value);
|
||||
case ParamType::TEGLAttribKHR:
|
||||
return GetParamVal<ParamType::TEGLAttribKHR, T>(value);
|
||||
case ParamType::TEGLBoolean:
|
||||
return GetParamVal<ParamType::TEGLBoolean, T>(value);
|
||||
case ParamType::TEGLClientBuffer:
|
||||
return GetParamVal<ParamType::TEGLClientBuffer, T>(value);
|
||||
case ParamType::TEGLConfig:
|
||||
@@ -1751,6 +1761,12 @@ inline void SetParamVal<ParamType::TEGLAttribKHR>(EGLAttribKHR valueIn, ParamVal
|
||||
valueOut->EGLAttribKHRVal = valueIn;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline void SetParamVal<ParamType::TEGLBoolean>(EGLBoolean valueIn, ParamValue *valueOut)
|
||||
{
|
||||
valueOut->EGLBooleanVal = valueIn;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline void SetParamVal<ParamType::TEGLClientBuffer>(EGLClientBuffer valueIn, ParamValue *valueOut)
|
||||
{
|
||||
@@ -2701,6 +2717,9 @@ void InitParamValue(ParamType paramType, T valueIn, ParamValue *valueOut)
|
||||
case ParamType::TEGLAttribKHR:
|
||||
SetParamVal<ParamType::TEGLAttribKHR>(valueIn, valueOut);
|
||||
break;
|
||||
case ParamType::TEGLBoolean:
|
||||
SetParamVal<ParamType::TEGLBoolean>(valueIn, valueOut);
|
||||
break;
|
||||
case ParamType::TEGLClientBuffer:
|
||||
SetParamVal<ParamType::TEGLClientBuffer>(valueIn, valueOut);
|
||||
break;
|
||||
|
||||
@@ -6518,4 +6518,26 @@ bool ValidateSetDamageRegionKHR(const ValidationContext *val,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ValidateQueryDmaBufFormatsEXT(ValidationContext const *val,
|
||||
Display const *dpy,
|
||||
EGLint max_formats,
|
||||
const EGLint *formats,
|
||||
const EGLint *num_formats)
|
||||
{
|
||||
UNIMPLEMENTED();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ValidateQueryDmaBufModifiersEXT(ValidationContext const *val,
|
||||
Display const *dpy,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
const EGLuint64KHR *modifiers,
|
||||
const EGLBoolean *external_only,
|
||||
const EGLint *num_modifiers)
|
||||
{
|
||||
UNIMPLEMENTED();
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace egl
|
||||
|
||||
@@ -337,6 +337,20 @@ bool ValidateQueryDisplayAttribEXT(const ValidationContext *val,
|
||||
EGLint attribute,
|
||||
const EGLAttrib *value);
|
||||
|
||||
// EGL_EXT_image_dma_buf_import_modifiers
|
||||
bool ValidateQueryDmaBufFormatsEXT(const ValidationContext *val,
|
||||
const egl::Display *dpyPacked,
|
||||
EGLint max_formats,
|
||||
const EGLint *formats,
|
||||
const EGLint *num_formats);
|
||||
bool ValidateQueryDmaBufModifiersEXT(const ValidationContext *val,
|
||||
const egl::Display *dpyPacked,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
const EGLuint64KHR *modifiers,
|
||||
const EGLBoolean *external_only,
|
||||
const EGLint *num_modifiers);
|
||||
|
||||
// EGL_EXT_platform_base
|
||||
bool ValidateCreatePlatformPixmapSurfaceEXT(const ValidationContext *val,
|
||||
const egl::Display *dpyPacked,
|
||||
|
||||
@@ -86,6 +86,8 @@ PFNEGLGETSYNCVALUESCHROMIUMPROC l_EGL_GetSyncValuesCHROMIUM;
|
||||
PFNEGLQUERYDEVICEATTRIBEXTPROC l_EGL_QueryDeviceAttribEXT;
|
||||
PFNEGLQUERYDEVICESTRINGEXTPROC l_EGL_QueryDeviceStringEXT;
|
||||
PFNEGLQUERYDISPLAYATTRIBEXTPROC l_EGL_QueryDisplayAttribEXT;
|
||||
PFNEGLQUERYDMABUFFORMATSEXTPROC l_EGL_QueryDmaBufFormatsEXT;
|
||||
PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_EGL_QueryDmaBufModifiersEXT;
|
||||
PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC l_EGL_CreatePlatformPixmapSurfaceEXT;
|
||||
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC l_EGL_CreatePlatformWindowSurfaceEXT;
|
||||
PFNEGLGETPLATFORMDISPLAYEXTPROC l_EGL_GetPlatformDisplayEXT;
|
||||
@@ -249,6 +251,10 @@ void LoadEGL_EGL(LoadProc loadProc)
|
||||
reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(loadProc("EGL_QueryDeviceStringEXT"));
|
||||
l_EGL_QueryDisplayAttribEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(loadProc("EGL_QueryDisplayAttribEXT"));
|
||||
l_EGL_QueryDmaBufFormatsEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDMABUFFORMATSEXTPROC>(loadProc("EGL_QueryDmaBufFormatsEXT"));
|
||||
l_EGL_QueryDmaBufModifiersEXT = reinterpret_cast<PFNEGLQUERYDMABUFMODIFIERSEXTPROC>(
|
||||
loadProc("EGL_QueryDmaBufModifiersEXT"));
|
||||
l_EGL_CreatePlatformPixmapSurfaceEXT =
|
||||
reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(
|
||||
loadProc("EGL_CreatePlatformPixmapSurfaceEXT"));
|
||||
|
||||
@@ -91,6 +91,8 @@
|
||||
#define EGL_QueryDeviceAttribEXT l_EGL_QueryDeviceAttribEXT
|
||||
#define EGL_QueryDeviceStringEXT l_EGL_QueryDeviceStringEXT
|
||||
#define EGL_QueryDisplayAttribEXT l_EGL_QueryDisplayAttribEXT
|
||||
#define EGL_QueryDmaBufFormatsEXT l_EGL_QueryDmaBufFormatsEXT
|
||||
#define EGL_QueryDmaBufModifiersEXT l_EGL_QueryDmaBufModifiersEXT
|
||||
#define EGL_CreatePlatformPixmapSurfaceEXT l_EGL_CreatePlatformPixmapSurfaceEXT
|
||||
#define EGL_CreatePlatformWindowSurfaceEXT l_EGL_CreatePlatformWindowSurfaceEXT
|
||||
#define EGL_GetPlatformDisplayEXT l_EGL_GetPlatformDisplayEXT
|
||||
@@ -201,6 +203,8 @@ ANGLE_NO_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC l_EGL_GetSyncValuesCHROMI
|
||||
ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC l_EGL_QueryDeviceAttribEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC l_EGL_QueryDeviceStringEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC l_EGL_QueryDisplayAttribEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLQUERYDMABUFFORMATSEXTPROC l_EGL_QueryDmaBufFormatsEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_EGL_QueryDmaBufModifiersEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
|
||||
l_EGL_CreatePlatformPixmapSurfaceEXT;
|
||||
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
|
||||
|
||||
@@ -644,6 +644,28 @@ EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT(EGLDisplay dpy, EGLint attribute
|
||||
return EGL_QueryDisplayAttribEXT(dpy, attribute, value);
|
||||
}
|
||||
|
||||
// EGL_EXT_image_dma_buf_import_modifiers
|
||||
EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT(EGLDisplay dpy,
|
||||
EGLint max_formats,
|
||||
EGLint *formats,
|
||||
EGLint *num_formats)
|
||||
{
|
||||
EnsureEGLLoaded();
|
||||
return EGL_QueryDmaBufFormatsEXT(dpy, max_formats, formats, num_formats);
|
||||
}
|
||||
|
||||
EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT(EGLDisplay dpy,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
EGLuint64KHR *modifiers,
|
||||
EGLBoolean *external_only,
|
||||
EGLint *num_modifiers)
|
||||
{
|
||||
EnsureEGLLoaded();
|
||||
return EGL_QueryDmaBufModifiersEXT(dpy, format, max_modifiers, modifiers, external_only,
|
||||
num_modifiers);
|
||||
}
|
||||
|
||||
// EGL_EXT_platform_base
|
||||
EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
|
||||
EGLConfig config,
|
||||
|
||||
@@ -129,6 +129,10 @@ EXPORTS
|
||||
eglQueryDeviceStringEXT
|
||||
eglQueryDisplayAttribEXT
|
||||
|
||||
; EGL_EXT_image_dma_buf_import_modifiers
|
||||
eglQueryDmaBufFormatsEXT
|
||||
eglQueryDmaBufModifiersEXT
|
||||
|
||||
; EGL_EXT_platform_base
|
||||
eglCreatePlatformPixmapSurfaceEXT
|
||||
eglCreatePlatformWindowSurfaceEXT
|
||||
|
||||
@@ -899,4 +899,26 @@ EGLBoolean SetDamageRegionKHR(Thread *thread,
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
EGLBoolean QueryDmaBufFormatsEXT(Thread *thread,
|
||||
egl::Display *display,
|
||||
EGLint max_formats,
|
||||
EGLint *formats,
|
||||
EGLint *num_formats)
|
||||
{
|
||||
UNIMPLEMENTED();
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
EGLBoolean QueryDmaBufModifiersEXT(Thread *thread,
|
||||
egl::Display *display,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
EGLuint64KHR *modifiers,
|
||||
EGLBoolean *external_only,
|
||||
EGLint *num_modifiers)
|
||||
{
|
||||
UNIMPLEMENTED();
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
} // namespace egl
|
||||
|
||||
@@ -134,6 +134,18 @@ EGLBoolean QueryDisplayAttribEXT(Thread *thread,
|
||||
egl::Display *dpyPacked,
|
||||
EGLint attribute,
|
||||
EGLAttrib *value);
|
||||
EGLBoolean QueryDmaBufFormatsEXT(Thread *thread,
|
||||
egl::Display *dpyPacked,
|
||||
EGLint max_formats,
|
||||
EGLint *formats,
|
||||
EGLint *num_formats);
|
||||
EGLBoolean QueryDmaBufModifiersEXT(Thread *thread,
|
||||
egl::Display *dpyPacked,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
EGLuint64KHR *modifiers,
|
||||
EGLBoolean *external_only,
|
||||
EGLint *num_modifiers);
|
||||
EGLBoolean QueryStreamKHR(Thread *thread,
|
||||
egl::Display *dpyPacked,
|
||||
Stream *streamPacked,
|
||||
|
||||
@@ -681,6 +681,55 @@ EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy, EGLint attribut
|
||||
return QueryDisplayAttribEXT(thread, dpyPacked, attribute, value);
|
||||
}
|
||||
|
||||
// EGL_EXT_image_dma_buf_import_modifiers
|
||||
EGLBoolean EGLAPIENTRY EGL_QueryDmaBufFormatsEXT(EGLDisplay dpy,
|
||||
EGLint max_formats,
|
||||
EGLint *formats,
|
||||
EGLint *num_formats)
|
||||
{
|
||||
|
||||
ANGLE_SCOPED_GLOBAL_LOCK();
|
||||
EGL_EVENT(QueryDmaBufFormatsEXT,
|
||||
"dpy = 0x%016" PRIxPTR ", max_formats = %d, formats = 0x%016" PRIxPTR
|
||||
", num_formats = 0x%016" PRIxPTR "",
|
||||
(uintptr_t)dpy, max_formats, (uintptr_t)formats, (uintptr_t)num_formats);
|
||||
|
||||
Thread *thread = egl::GetCurrentThread();
|
||||
|
||||
egl::Display *dpyPacked = PackParam<egl::Display *>(dpy);
|
||||
|
||||
ANGLE_EGL_VALIDATE(thread, QueryDmaBufFormatsEXT, GetDisplayIfValid(dpyPacked), EGLBoolean,
|
||||
dpyPacked, max_formats, formats, num_formats);
|
||||
|
||||
return QueryDmaBufFormatsEXT(thread, dpyPacked, max_formats, formats, num_formats);
|
||||
}
|
||||
|
||||
EGLBoolean EGLAPIENTRY EGL_QueryDmaBufModifiersEXT(EGLDisplay dpy,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
EGLuint64KHR *modifiers,
|
||||
EGLBoolean *external_only,
|
||||
EGLint *num_modifiers)
|
||||
{
|
||||
|
||||
ANGLE_SCOPED_GLOBAL_LOCK();
|
||||
EGL_EVENT(QueryDmaBufModifiersEXT,
|
||||
"dpy = 0x%016" PRIxPTR ", format = %d, max_modifiers = %d, modifiers = 0x%016" PRIxPTR
|
||||
", external_only = 0x%016" PRIxPTR ", num_modifiers = 0x%016" PRIxPTR "",
|
||||
(uintptr_t)dpy, format, max_modifiers, (uintptr_t)modifiers, (uintptr_t)external_only,
|
||||
(uintptr_t)num_modifiers);
|
||||
|
||||
Thread *thread = egl::GetCurrentThread();
|
||||
|
||||
egl::Display *dpyPacked = PackParam<egl::Display *>(dpy);
|
||||
|
||||
ANGLE_EGL_VALIDATE(thread, QueryDmaBufModifiersEXT, GetDisplayIfValid(dpyPacked), EGLBoolean,
|
||||
dpyPacked, format, max_modifiers, modifiers, external_only, num_modifiers);
|
||||
|
||||
return QueryDmaBufModifiersEXT(thread, dpyPacked, format, max_modifiers, modifiers,
|
||||
external_only, num_modifiers);
|
||||
}
|
||||
|
||||
// EGL_EXT_platform_base
|
||||
EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
|
||||
EGLConfig config,
|
||||
|
||||
@@ -149,6 +149,18 @@ ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy,
|
||||
EGLint attribute,
|
||||
EGLAttrib *value);
|
||||
|
||||
// EGL_EXT_image_dma_buf_import_modifiers
|
||||
ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufFormatsEXT(EGLDisplay dpy,
|
||||
EGLint max_formats,
|
||||
EGLint *formats,
|
||||
EGLint *num_formats);
|
||||
ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufModifiersEXT(EGLDisplay dpy,
|
||||
EGLint format,
|
||||
EGLint max_modifiers,
|
||||
EGLuint64KHR *modifiers,
|
||||
EGLBoolean *external_only,
|
||||
EGLint *num_modifiers);
|
||||
|
||||
// EGL_EXT_platform_base
|
||||
ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
|
||||
EGLConfig config,
|
||||
|
||||
@@ -1259,6 +1259,10 @@ EXPORTS
|
||||
EGL_QueryDeviceStringEXT
|
||||
EGL_QueryDisplayAttribEXT
|
||||
|
||||
; EGL_EXT_image_dma_buf_import_modifiers
|
||||
EGL_QueryDmaBufFormatsEXT
|
||||
EGL_QueryDmaBufModifiersEXT
|
||||
|
||||
; EGL_EXT_platform_base
|
||||
EGL_CreatePlatformPixmapSurfaceEXT
|
||||
EGL_CreatePlatformWindowSurfaceEXT
|
||||
|
||||
@@ -1259,6 +1259,10 @@ EXPORTS
|
||||
EGL_QueryDeviceStringEXT
|
||||
EGL_QueryDisplayAttribEXT
|
||||
|
||||
; EGL_EXT_image_dma_buf_import_modifiers
|
||||
EGL_QueryDmaBufFormatsEXT
|
||||
EGL_QueryDmaBufModifiersEXT
|
||||
|
||||
; EGL_EXT_platform_base
|
||||
EGL_CreatePlatformPixmapSurfaceEXT
|
||||
EGL_CreatePlatformWindowSurfaceEXT
|
||||
|
||||
@@ -1259,6 +1259,10 @@ EXPORTS
|
||||
EGL_QueryDeviceStringEXT
|
||||
EGL_QueryDisplayAttribEXT
|
||||
|
||||
; EGL_EXT_image_dma_buf_import_modifiers
|
||||
EGL_QueryDmaBufFormatsEXT
|
||||
EGL_QueryDmaBufModifiersEXT
|
||||
|
||||
; EGL_EXT_platform_base
|
||||
EGL_CreatePlatformPixmapSurfaceEXT
|
||||
EGL_CreatePlatformWindowSurfaceEXT
|
||||
|
||||
@@ -101,6 +101,8 @@ const ProcEntry g_procTable[] = {
|
||||
{"eglQueryDeviceStringEXT", P(EGL_QueryDeviceStringEXT)},
|
||||
{"eglQueryDisplayAttribANGLE", P(EGL_QueryDisplayAttribANGLE)},
|
||||
{"eglQueryDisplayAttribEXT", P(EGL_QueryDisplayAttribEXT)},
|
||||
{"eglQueryDmaBufFormatsEXT", P(EGL_QueryDmaBufFormatsEXT)},
|
||||
{"eglQueryDmaBufModifiersEXT", P(EGL_QueryDmaBufModifiersEXT)},
|
||||
{"eglQueryStreamKHR", P(EGL_QueryStreamKHR)},
|
||||
{"eglQueryStreamu64KHR", P(EGL_QueryStreamu64KHR)},
|
||||
{"eglQueryString", P(EGL_QueryString)},
|
||||
@@ -932,5 +934,5 @@ const ProcEntry g_procTable[] = {
|
||||
{"glWaitSync", P(GL_WaitSync)},
|
||||
{"glWeightPointerOES", P(GL_WeightPointerOES)}};
|
||||
|
||||
const size_t g_numProcs = 899;
|
||||
const size_t g_numProcs = 901;
|
||||
} // namespace egl
|
||||
|
||||
@@ -92,6 +92,8 @@ ANGLE_TRACE_LOADER_EXPORT PFNEGLGETSYNCVALUESCHROMIUMPROC t_eglGetSyncValuesCHRO
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLQUERYDEVICEATTRIBEXTPROC t_eglQueryDeviceAttribEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLQUERYDEVICESTRINGEXTPROC t_eglQueryDeviceStringEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLQUERYDISPLAYATTRIBEXTPROC t_eglQueryDisplayAttribEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLQUERYDMABUFFORMATSEXTPROC t_eglQueryDmaBufFormatsEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLQUERYDMABUFMODIFIERSEXTPROC t_eglQueryDmaBufModifiersEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
|
||||
t_eglCreatePlatformPixmapSurfaceEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
|
||||
@@ -255,6 +257,10 @@ void LoadEGL(LoadProc loadProc)
|
||||
reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(loadProc("eglQueryDeviceStringEXT"));
|
||||
t_eglQueryDisplayAttribEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(loadProc("eglQueryDisplayAttribEXT"));
|
||||
t_eglQueryDmaBufFormatsEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDMABUFFORMATSEXTPROC>(loadProc("eglQueryDmaBufFormatsEXT"));
|
||||
t_eglQueryDmaBufModifiersEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDMABUFMODIFIERSEXTPROC>(loadProc("eglQueryDmaBufModifiersEXT"));
|
||||
t_eglCreatePlatformPixmapSurfaceEXT =
|
||||
reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(
|
||||
loadProc("eglCreatePlatformPixmapSurfaceEXT"));
|
||||
|
||||
@@ -92,6 +92,8 @@
|
||||
#define eglQueryDeviceAttribEXT t_eglQueryDeviceAttribEXT
|
||||
#define eglQueryDeviceStringEXT t_eglQueryDeviceStringEXT
|
||||
#define eglQueryDisplayAttribEXT t_eglQueryDisplayAttribEXT
|
||||
#define eglQueryDmaBufFormatsEXT t_eglQueryDmaBufFormatsEXT
|
||||
#define eglQueryDmaBufModifiersEXT t_eglQueryDmaBufModifiersEXT
|
||||
#define eglCreatePlatformPixmapSurfaceEXT t_eglCreatePlatformPixmapSurfaceEXT
|
||||
#define eglCreatePlatformWindowSurfaceEXT t_eglCreatePlatformWindowSurfaceEXT
|
||||
#define eglGetPlatformDisplayEXT t_eglGetPlatformDisplayEXT
|
||||
@@ -209,6 +211,8 @@ ANGLE_TRACE_LOADER_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC t_eglGetSyncVal
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC t_eglQueryDeviceAttribEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC t_eglQueryDeviceStringEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC t_eglQueryDisplayAttribEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLQUERYDMABUFFORMATSEXTPROC t_eglQueryDmaBufFormatsEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLQUERYDMABUFMODIFIERSEXTPROC t_eglQueryDmaBufModifiersEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
|
||||
t_eglCreatePlatformPixmapSurfaceEXT;
|
||||
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
|
||||
|
||||
@@ -89,6 +89,8 @@ ANGLE_UTIL_EXPORT PFNEGLGETSYNCVALUESCHROMIUMPROC l_eglGetSyncValuesCHROMIUM;
|
||||
ANGLE_UTIL_EXPORT PFNEGLQUERYDEVICEATTRIBEXTPROC l_eglQueryDeviceAttribEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLQUERYDEVICESTRINGEXTPROC l_eglQueryDeviceStringEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLQUERYDISPLAYATTRIBEXTPROC l_eglQueryDisplayAttribEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLQUERYDMABUFFORMATSEXTPROC l_eglQueryDmaBufFormatsEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_eglQueryDmaBufModifiersEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC l_eglCreatePlatformPixmapSurfaceEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC l_eglCreatePlatformWindowSurfaceEXT;
|
||||
ANGLE_UTIL_EXPORT PFNEGLGETPLATFORMDISPLAYEXTPROC l_eglGetPlatformDisplayEXT;
|
||||
@@ -250,6 +252,10 @@ void LoadEGL(LoadProc loadProc)
|
||||
reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(loadProc("eglQueryDeviceStringEXT"));
|
||||
l_eglQueryDisplayAttribEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(loadProc("eglQueryDisplayAttribEXT"));
|
||||
l_eglQueryDmaBufFormatsEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDMABUFFORMATSEXTPROC>(loadProc("eglQueryDmaBufFormatsEXT"));
|
||||
l_eglQueryDmaBufModifiersEXT =
|
||||
reinterpret_cast<PFNEGLQUERYDMABUFMODIFIERSEXTPROC>(loadProc("eglQueryDmaBufModifiersEXT"));
|
||||
l_eglCreatePlatformPixmapSurfaceEXT =
|
||||
reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(
|
||||
loadProc("eglCreatePlatformPixmapSurfaceEXT"));
|
||||
|
||||
@@ -92,6 +92,8 @@
|
||||
#define eglQueryDeviceAttribEXT l_eglQueryDeviceAttribEXT
|
||||
#define eglQueryDeviceStringEXT l_eglQueryDeviceStringEXT
|
||||
#define eglQueryDisplayAttribEXT l_eglQueryDisplayAttribEXT
|
||||
#define eglQueryDmaBufFormatsEXT l_eglQueryDmaBufFormatsEXT
|
||||
#define eglQueryDmaBufModifiersEXT l_eglQueryDmaBufModifiersEXT
|
||||
#define eglCreatePlatformPixmapSurfaceEXT l_eglCreatePlatformPixmapSurfaceEXT
|
||||
#define eglCreatePlatformWindowSurfaceEXT l_eglCreatePlatformWindowSurfaceEXT
|
||||
#define eglGetPlatformDisplayEXT l_eglGetPlatformDisplayEXT
|
||||
@@ -202,6 +204,8 @@ ANGLE_UTIL_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC l_eglGetSyncValuesCHROM
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC l_eglQueryDeviceAttribEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC l_eglQueryDeviceStringEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC l_eglQueryDisplayAttribEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDMABUFFORMATSEXTPROC l_eglQueryDmaBufFormatsEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_eglQueryDmaBufModifiersEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
|
||||
l_eglCreatePlatformPixmapSurfaceEXT;
|
||||
ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
|
||||
|
||||
Reference in New Issue
Block a user