Login  Register

Re: Updating glext.h confuses gluegen with function pointer GLDEBUGPROCARB

Posted by elect on Apr 16, 2015; 9:42am
URL: https://forum.jogamp.org/Updating-glext-h-confuses-gluegen-with-function-pointer-GLDEBUGPROCARB-tp4028327p4034301.html

Any news?

I still dont see any function for bindless textures, such as


1. Set Bindless vertex formats
(glVertexFormatNV, glNormalFormatNV, glTexCoordFormatNV, etc for fixed functionality or glVertexAttribFormatNV for generic attributes)

2. Enable adequate client states (GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV - for vertex arrays, and
GL_ELEMENT_ARRAY_UNIFIED_NV - for index arrays)

3. Create VBOs, grab the pointers and make them resident
- glBufferData
- glGetBufferParameterui64vNV
- glMakeBufferResidentNV

4. Enable vertex attributes and set address range for the pointers
- glEnableVertexAttribArray
- glBufferAddressRangeNV(GL_VERTEX_ATTRIB_ARRAY_ADDR ESS_NV,...) - for attributes and
- glBufferAddressRangeNV(GL_ELEMENT_ARRAY_ADDRESS_NV , ...) - for index


or

https://www.opengl.org/registry/specs/ARB/bindless_texture.txt


New Procedures and Functions

    uint64 GetTextureHandleARB(uint texture);
    uint64 GetTextureSamplerHandleARB(uint texture, uint sampler);

    void MakeTextureHandleResidentARB(uint64 handle);
    void MakeTextureHandleNonResidentARB(uint64 handle);

    uint64 GetImageHandleARB(uint texture, int level, boolean layered,
                             int layer, enum format);

    void MakeImageHandleResidentARB(uint64 handle, enum access);
    void MakeImageHandleNonResidentARB(uint64 handle);

    void UniformHandleui64ARB(int location, uint64 value);
    void UniformHandleui64vARB(int location, sizei count, const uint64 *value);
    void ProgramUniformHandleui64ARB(uint program, int location,
                                     uint64 value);
    void ProgramUniformHandleui64vARB(uint program, int location,
                                      sizei count, const uint64 *values);

    boolean IsTextureHandleResidentARB(uint64 handle);
    boolean IsImageHandleResidentARB(uint64 handle);


    // Inherited from NV_vertex_attrib_integer_64bit:

    void VertexAttribL1ui64ARB(uint index, uint64EXT x);
    void VertexAttribL1ui64vARB(uint index, const uint64EXT *v);
    void GetVertexAttribLui64vARB(uint index, enum pname, uint64EXT *params);