102f4aeb0Sopenharmony_ciName 202f4aeb0Sopenharmony_ci 302f4aeb0Sopenharmony_ci ARM_image_format 402f4aeb0Sopenharmony_ci 502f4aeb0Sopenharmony_ciName Strings 602f4aeb0Sopenharmony_ci 702f4aeb0Sopenharmony_ci EGL_ARM_image_format 802f4aeb0Sopenharmony_ci 902f4aeb0Sopenharmony_ciContributors 1002f4aeb0Sopenharmony_ci 1102f4aeb0Sopenharmony_ci Jan-Harald Fredriksen 1202f4aeb0Sopenharmony_ci 1302f4aeb0Sopenharmony_ciContact 1402f4aeb0Sopenharmony_ci 1502f4aeb0Sopenharmony_ci Jan-Harald Fredriksen (jan-harald.fredriksen 'at' arm.com) 1602f4aeb0Sopenharmony_ci 1702f4aeb0Sopenharmony_ciIP Status 1802f4aeb0Sopenharmony_ci 1902f4aeb0Sopenharmony_ci No known IP claims. 2002f4aeb0Sopenharmony_ci 2102f4aeb0Sopenharmony_ciStatus 2202f4aeb0Sopenharmony_ci 2302f4aeb0Sopenharmony_ci Complete 2402f4aeb0Sopenharmony_ci 2502f4aeb0Sopenharmony_ciVersion 2602f4aeb0Sopenharmony_ci 2702f4aeb0Sopenharmony_ci Version 1 - February 18, 2020 2802f4aeb0Sopenharmony_ci 2902f4aeb0Sopenharmony_ciNumber 3002f4aeb0Sopenharmony_ci 3102f4aeb0Sopenharmony_ci 138 3202f4aeb0Sopenharmony_ci 3302f4aeb0Sopenharmony_ciDependencies 3402f4aeb0Sopenharmony_ci 3502f4aeb0Sopenharmony_ci This extension is written against the wording of the EGL 1.4 3602f4aeb0Sopenharmony_ci specification. 3702f4aeb0Sopenharmony_ci 3802f4aeb0Sopenharmony_ci This extension reuses tokens from EGL_EXT_pixel_format_float. 3902f4aeb0Sopenharmony_ci 4002f4aeb0Sopenharmony_ciOverview 4102f4aeb0Sopenharmony_ci 4202f4aeb0Sopenharmony_ci When an EGLImage is created from an existing image resource the 4302f4aeb0Sopenharmony_ci implementation will deduce the format of the image data from that 4402f4aeb0Sopenharmony_ci resource. In some cases, however, the implementation may not know how to 4502f4aeb0Sopenharmony_ci map the existing image resource to a known format. This extension extends 4602f4aeb0Sopenharmony_ci the list of attributes accepted by eglCreateImageKHR such that applications 4702f4aeb0Sopenharmony_ci can tell the implementation how to interpret the data. 4802f4aeb0Sopenharmony_ci 4902f4aeb0Sopenharmony_ciNew Procedures and Functions 5002f4aeb0Sopenharmony_ci 5102f4aeb0Sopenharmony_ci None. 5202f4aeb0Sopenharmony_ci 5302f4aeb0Sopenharmony_ciNew Tokens 5402f4aeb0Sopenharmony_ci 5502f4aeb0Sopenharmony_ci Accepted as an attribute name in the <attrib_list> argument of 5602f4aeb0Sopenharmony_ci eglCreateImageKHR: 5702f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_EXT 0x3339 5802f4aeb0Sopenharmony_ci 5902f4aeb0Sopenharmony_ci Accepted as attribute values for the EGL_COLOR_COMPONENT_TYPE_EXT attribute 6002f4aeb0Sopenharmony_ci of eglCreateImageKHR: 6102f4aeb0Sopenharmony_ci 6202f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A 6302f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B 6402f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287 6502f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288 6602f4aeb0Sopenharmony_ci EGL_RED_SIZE 0x3024 6702f4aeb0Sopenharmony_ci EGL_GREEN_SIZE 0x3023 6802f4aeb0Sopenharmony_ci EGL_BLUE_SIZE 0x3022 6902f4aeb0Sopenharmony_ci EGL_ALPHA_SIZE 0x3021 7002f4aeb0Sopenharmony_ci 7102f4aeb0Sopenharmony_ciModifications to the EGL 1.4 Specification 7202f4aeb0Sopenharmony_ci 7302f4aeb0Sopenharmony_ci Add the following rows to Table 3.xx: Legal attributes for 7402f4aeb0Sopenharmony_ci eglCreateImageKHR <attrib_list> parameter: 7502f4aeb0Sopenharmony_ci 7602f4aeb0Sopenharmony_ci +------------------------------+------------------------------+-----------+---------------+ 7702f4aeb0Sopenharmony_ci | Attribute | Description | Valid | Default Value | 7802f4aeb0Sopenharmony_ci | | | <target>s | | 7902f4aeb0Sopenharmony_ci +------------------------------+------------------------------+-----------+---------------+ 8002f4aeb0Sopenharmony_ci | EGL_COLOR_COMPONENT_TYPE_EXT | Specifies the component | All | NA | 8102f4aeb0Sopenharmony_ci | | type the EGLImage source | | | 8202f4aeb0Sopenharmony_ci | | is interpreted as | | | 8302f4aeb0Sopenharmony_ci | EGL_RED_SIZE | Specifies the red component | All | NA | 8402f4aeb0Sopenharmony_ci | | size the EGLImage source | | | 8502f4aeb0Sopenharmony_ci | | is interpreted as | | | 8602f4aeb0Sopenharmony_ci | EGL_GREEN_SIZE | Specifies the green component| All | NA | 8702f4aeb0Sopenharmony_ci | | size the EGLImage source | | | 8802f4aeb0Sopenharmony_ci | | is interpreted as | | | 8902f4aeb0Sopenharmony_ci | EGL_BLUE_SIZE | Specifies the blue component | All | NA | 9002f4aeb0Sopenharmony_ci | | size the EGLImage source | | | 9102f4aeb0Sopenharmony_ci | | is interpreted as | | | 9202f4aeb0Sopenharmony_ci | EGL_ALPHA_SIZE | Specifies the alpha component| All | NA | 9302f4aeb0Sopenharmony_ci | | size the EGLImage source | | | 9402f4aeb0Sopenharmony_ci | | is interpreted as | | | 9502f4aeb0Sopenharmony_ci +------------------------------+------------------------------+-----------+---------------+ 9602f4aeb0Sopenharmony_ci 9702f4aeb0Sopenharmony_ci If <attrib_list> specifies values for EGL_COLOR_COMPONENT_TYPE_EXT, 9802f4aeb0Sopenharmony_ci EGL_RED_SIZE, EGL_GREEN_SIZE, EGL_BLUE_SIZE, or EGL_ALPHA_SIZE, the 9902f4aeb0Sopenharmony_ci implementation will treat these as hints for how to interpret the contents 10002f4aeb0Sopenharmony_ci of <buffer>. 10102f4aeb0Sopenharmony_ci 10202f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_EXT indicates the component type of <buffer> and 10302f4aeb0Sopenharmony_ci must be either EGL_COLOR_COMPONENT_TYPE_FIXED_EXT for fixed-point, 10402f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT for floating-point, 10502f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM for unsigned integer, or 10602f4aeb0Sopenharmony_ci EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM for integer components. 10702f4aeb0Sopenharmony_ci 10802f4aeb0Sopenharmony_ciAdd to the list of error conditions for eglCreateImageKHR: 10902f4aeb0Sopenharmony_ci 11002f4aeb0Sopenharmony_ci * If the implementation is unable to interpret the contents <buffer> 11102f4aeb0Sopenharmony_ci according to the component types and sizes in <attrib_list>, then a 11202f4aeb0Sopenharmony_ci EGL_BAD_MATCH error is generated. 11302f4aeb0Sopenharmony_ci 11402f4aeb0Sopenharmony_ciIssues 11502f4aeb0Sopenharmony_ci 11602f4aeb0Sopenharmony_ci 1. Should there be a way to specify the component order? 11702f4aeb0Sopenharmony_ci 11802f4aeb0Sopenharmony_ci Resolved. No, the component order is interpreted to be R, G, B, A, 11902f4aeb0Sopenharmony_ci with R mapping to component 0. If the application needs a different 12002f4aeb0Sopenharmony_ci component order it can use swizzle in the client API side or in the 12102f4aeb0Sopenharmony_ci shader. 12202f4aeb0Sopenharmony_ci 12302f4aeb0Sopenharmony_ciRevision History 12402f4aeb0Sopenharmony_ci 12502f4aeb0Sopenharmony_ci Version 1, 2020/02/18 12602f4aeb0Sopenharmony_ci - Internal revisions 127