15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    NV_vdpau_interop2
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_NV_vdpau_interop2
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContributors
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Manoj Gupta Bonda, NVIDIA
125bd8deadSopenharmony_ci    James Jones, NVIDIA
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciContact
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Manoj Gupta Bonda, NVIDIA (mbonda 'at' nvidia.com)
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciStatus
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Complete
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciVersion
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    1 (2 Oct 2018)
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciNumber
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    OpenGL Extension #533
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciDependencies
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    This extension is written against the OpenGL 4.6 Specification
335bd8deadSopenharmony_ci    (Compatibility Profile), dated July 30, 2017.
345bd8deadSopenharmony_ci    but can apply to OpenGL 1.1 and up.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    OpenGL 1.1 is required.
375bd8deadSopenharmony_ci    GL_NV_vdpau_interop is required.
385bd8deadSopenharmony_ci    GL_EXT_framebuffer_object affects the definition of this extension.
395bd8deadSopenharmony_ci    GL_ARB_texture_rectangle affects the definition of this extension.
405bd8deadSopenharmony_ci    GL_ARB_texture_non_power_of_two affects the definition of this
415bd8deadSopenharmony_ci    extension.
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ciOverview
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    This extension allows VDPAU video surfaces to be used
465bd8deadSopenharmony_ci    either with frame or field structures for texturing and rendering.
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciIP Status
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    There are no known IP issues.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ciNew Types
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    None
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ciNew Procedures and Functions
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    vdpauSurfaceNV VDPAURegisterVideoSurfaceWithPictureStructureNV (const void *vdpSurface,
605bd8deadSopenharmony_ci                                                                    enum       target,
615bd8deadSopenharmony_ci                                                                    sizei      numTextureNames,
625bd8deadSopenharmony_ci                                                                    const uint *textureNames,
635bd8deadSopenharmony_ci                                                                    boolean    isFrameStructure);
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ciNew Tokens
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    None
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ciAdditions to Chapter 8 of the OpenGL 4.6 (unabridged) Specification
705bd8deadSopenharmony_ci(Textures and Samplers)
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci    Replace the paragraph that begins with 'The command
735bd8deadSopenharmony_ci    vdpauSurfaceNV VDPAURegisterVideoSurfaceNV' and the following two paragraphs,
745bd8deadSopenharmony_ci    including table 3.8.3.1, with the following:
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    The commands
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci        vdpauSurfaceNV VDPAURegisterVideoSurfaceNV (const void *vdpSurface,
795bd8deadSopenharmony_ci                                                    enum       target,
805bd8deadSopenharmony_ci                                                    sizei      numTextureNames,
815bd8deadSopenharmony_ci                                                    const uint *textureNames);
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ci        vdpauSurfaceNV VDPAURegisterVideoSurfaceWithPictureStructureNV (const void *vdpSurface,
845bd8deadSopenharmony_ci                                                                        enum       target,
855bd8deadSopenharmony_ci                                                                        sizei      numTextureNames,
865bd8deadSopenharmony_ci                                                                        const uint *textureNames,
875bd8deadSopenharmony_ci                                                                        boolean    isFrameStructure);
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci    defines a set of two-dimensional textures, where the image data may
905bd8deadSopenharmony_ci    be taken from the VdpVideoSurface <vdpSurface>. <target> must be
915bd8deadSopenharmony_ci    one of TEXTURE_2D or TEXTURE_RECTANGLE. <numTextureNames>
925bd8deadSopenharmony_ci    determines how many textures are defined. <textureNames> contains
935bd8deadSopenharmony_ci    the names of the textures that are defined. The surface is
945bd8deadSopenharmony_ci    transitioned into the registered state.
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    VDPAURegisterVideoSurfaceNV is equivalent to calling
975bd8deadSopenharmony_ci    VDPAURegisterVideoSurfaceWithPictureStructureNV with <isFrameStructure>
985bd8deadSopenharmony_ci    set to FALSE.
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    Legal values for <numTextureNames>,<isFrameStructure> are derived from the
1015bd8deadSopenharmony_ci    VdpChromaType of <vdpSurface>, as defined in table 8.7.1.
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci                                                                                          Internal
1045bd8deadSopenharmony_ci      VdpChromaType              numTextureNames  isFrameStructure      Index  Size       Format    Content
1055bd8deadSopenharmony_ci      -------------              ---------------  ----------------      -----  ----       --------  -------------------
1065bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_420        4                        0             0      w   x h/2  R8        Top-field luma
1075bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1085bd8deadSopenharmony_ci                                                                        2      w/2 x h/4  R8G8      Top-field chroma
1095bd8deadSopenharmony_ci                                                                        3      w/2 x h/4  R8G8      Bottom-field chroma
1105bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_422        4                        0             0      w   x h/2  R8        Top-field luma
1115bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1125bd8deadSopenharmony_ci                                                                        2      w/2 x h/2  R8G8      Top-field chroma
1135bd8deadSopenharmony_ci                                                                        3      w/2 x h/2  R8G8      Bottom-field chroma
1145bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_444        4                        0             0      w   x h/2  R8        Top-field luma
1155bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1165bd8deadSopenharmony_ci                                                                        2      w   x h/2  R8G8      Top-field chroma
1175bd8deadSopenharmony_ci                                                                        3      w   x h/2  R8G8      Bottom-field chroma
1185bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_420        2                        1             0      w   x h    R8        Luma
1195bd8deadSopenharmony_ci                                                                        1      w/2 x h/2  R8G8      Chroma
1205bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_422        2                        1             0      w   x h    R8        Luma
1215bd8deadSopenharmony_ci                                                                        1      w/2 x h    R8G8      Chroma
1225bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_444        2                        1             0      w   x h    R8        Luma
1235bd8deadSopenharmony_ci                                                                        1      w   x h    R8G8      Chroma
1245bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_420_FIELD  4                        0             0      w   x h/2  R8        Top-field luma
1255bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1265bd8deadSopenharmony_ci                                                                        2      w/2 x h/4  R8G8      Top-field chroma
1275bd8deadSopenharmony_ci                                                                        3      w/2 x h/4  R8G8      Bottom-field chroma
1285bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_422_FIELD  4                        0             0      w   x h/2  R8        Top-field luma
1295bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1305bd8deadSopenharmony_ci                                                                        2      w/2 x h/2  R8G8      Top-field chroma
1315bd8deadSopenharmony_ci                                                                        3      w/2 x h/2  R8G8      Bottom-field chroma
1325bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_444_FIELD  4                        0             0      w   x h/2  R8        Top-field luma
1335bd8deadSopenharmony_ci                                                                        1      w   x h/2  R8        Bottom-field luma
1345bd8deadSopenharmony_ci                                                                        2      w   x h/2  R8G8      Top-field chroma
1355bd8deadSopenharmony_ci                                                                        3      w   x h/2  R8G8      Bottom-field chroma
1365bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_420_FRAME  2                        1             0      w   x h    R8        Luma
1375bd8deadSopenharmony_ci                                                                        1      w/2 x h/2  R8G8      Chroma
1385bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_422_FRAME  2                        1             0      w   x h    R8        Luma
1395bd8deadSopenharmony_ci                                                                        1      w/2 x h    R8G8      Chroma
1405bd8deadSopenharmony_ci      VDP_CHROMA_TYPE_444_FRAME  2                        1             0      w   x h    R8        Luma
1415bd8deadSopenharmony_ci                                                                        1      w   x h    R8G8      Chroma
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci      Table 8.7.1: Supported VdpChromaType values, and derived values
1445bd8deadSopenharmony_ci      of <numTextureNames>,<isFrameStructure> and texture parameters for
1455bd8deadSopenharmony_ci      each texture.
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    VDPAURegisterVideoSurfaceWithPictureStructureNV's return value is a handle
1485bd8deadSopenharmony_ci    used by various other commands detailed in NV_vdpau_interop.
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ci    None
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ciAdditions to the OpenGL Shading Language
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ci    None
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ciGLX Protocol
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci    VDPAU implementations currently only support direct-rendering.
1625bd8deadSopenharmony_ci    Consequently, no GLX protocol is currently defined for this
1635bd8deadSopenharmony_ci    extension.
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ciDependencies on GL_ARB_texture_rectangle
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ci    If GL_ARB_texture_rectangle is not supported, TEXTURE_RECTANGLE may
1685bd8deadSopenharmony_ci    not be used as target for VDPAURegisterVideoSurfaceWithPictureStructureNV.
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ciDependencies on GL_ARB_texture_non_power_of_two
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ci    If GL_ARB_texture_non_power_of_two is not supported, only VDPAU
1735bd8deadSopenharmony_ci    surfaces with power-of-two size may be used with target TEXTURE_2D.
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ciErrors
1765bd8deadSopenharmony_ci
1775bd8deadSopenharmony_ci    INVALID_OPERATION is generated by
1785bd8deadSopenharmony_ci    VDPAURegisterVideoSurfaceWithPictureStructureNV if the VDPAU driver
1795bd8deadSopenharmony_ci    refuses the request for some reason.
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci    INVALID_OPERATION is generated if any texture named by an entry
1825bd8deadSopenharmony_ci    within the <textureNames> parameter of
1835bd8deadSopenharmony_ci    VDPAURegisterVideoSurfaceWithPictureStructureNV is marked as immutable.
1845bd8deadSopenharmony_ci
1855bd8deadSopenharmony_ci    INVALID_VALUE is generated if the VDPAU surface named by the
1865bd8deadSopenharmony_ci    <vdpSurface> parameter of VDPAURegisterVideoSurfaceWithPictureStructureNV
1875bd8deadSopenharmony_ci    does not have a supported format;
1885bd8deadSopenharmony_ci    see table 8.7.1.
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ciNew State
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ci    None
1935bd8deadSopenharmony_ci
1945bd8deadSopenharmony_ciNew Implementation State
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ci    None
1975bd8deadSopenharmony_ci
1985bd8deadSopenharmony_ciIssues
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ciRevision History
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ci    1. 02 Oct 2018 - Manoj Bonda
2045bd8deadSopenharmony_ci        Initial version
2055bd8deadSopenharmony_ci
2065bd8deadSopenharmony_ci    2. 21 Nov 2018 - Manoj Bonda
2075bd8deadSopenharmony_ci        Changed status to complete.
2085bd8deadSopenharmony_ci
209