VirtualBox

Changeset 22155 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 11, 2009 10:36:56 AM (15 years ago)
Author:
vboxsync
Message:

crOpenGL: add GL_EXT_framebuffer_object support

Location:
trunk/src/VBox
Files:
5 added
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/Makefile.kmk

    r21311 r22155  
    161161        packer/pack_visibleregion.c \
    162162        packer/pack_shaders.c \
     163        packer/pack_framebuffer.c \
    163164        $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
    164165        $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
     
    340341        state_tracker/state_transform.c \
    341342        state_tracker/state_viewport.c \
     343        state_tracker/state_framebuffer.c \
    342344        $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
    343345        $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
  • trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt

    r21308 r22155  
    26242624return      void
    26252625param       pname       GLenum
    2626 paramprop   pname       GL_ACCUM_ALPHA_BITS GL_ACCUM_BLUE_BITS GL_ACCUM_CLEAR_VALUE GL_ACCUM_GREEN_BITS GL_ACCUM_RED_BITS GL_ACTIVE_TEXTURE_ARB GL_ALIASED_LINE_WIDTH_RANGE GL_ALIASED_POINT_SIZE_RANGE GL_ALPHA_BIAS GL_ALPHA_BITS GL_ALPHA_SCALE GL_ALPHA_TEST GL_ALPHA_TEST_FUNC GL_ALPHA_TEST_REF GL_ATTRIB_STACK_DEPTH GL_AUTO_NORMAL GL_AUX_BUFFERS GL_BLEND GL_BLEND_COLOR GL_BLEND_DST GL_BLEND_EQUATION GL_BLEND_SRC GL_BLUE_BIAS GL_BLUE_BITS GL_BLUE_SCALE GL_CLIENT_ACTIVE_TEXTURE_ARB GL_CLIENT_ATTRIB_STACK_DEPTH GL_COLOR_ARRAY GL_COLOR_ARRAY_SIZE GL_COLOR_ARRAY_STRIDE GL_COLOR_ARRAY_TYPE GL_COLOR_CLEAR_VALUE GL_COLOR_LOGIC_OP GL_COLOR_MATERIAL GL_COLOR_MATERIAL_FACE GL_COLOR_MATERIAL_PARAMETER GL_COLOR_MATRIX_STACK_DEPTH GL_COLOR_WRITEMASK GL_CULL_FACE GL_CULL_FACE_MODE GL_CURRENT_COLOR GL_CURRENT_INDEX GL_CURRENT_NORMAL GL_CURRENT_RASTER_COLOR GL_CURRENT_RASTER_DISTANCE GL_CURRENT_RASTER_INDEX GL_CURRENT_RASTER_POSITION GL_CURRENT_RASTER_POSITION_VALID GL_CURRENT_RASTER_TEXTURE_COORDS GL_CURRENT_TEXTURE_COORDS GL_DEPTH_BIAS GL_DEPTH_BITS GL_DEPTH_CLEAR_VALUE GL_DEPTH_FUNC GL_DEPTH_RANGE GL_DEPTH_SCALE GL_DEPTH_TEST GL_DEPTH_WRITEMASK GL_DITHER GL_DOUBLEBUFFER GL_DRAW_BUFFER GL_EDGE_FLAG GL_EDGE_FLAG_ARRAY GL_EDGE_FLAG_ARRAY_STRIDE GL_FEEDBACK_BUFFER_SIZE GL_FEEDBACK_BUFFER_TYPE GL_FOG GL_FOG_COLOR GL_FOG_DENSITY GL_FOG_END GL_FOG_HINT GL_FOG_INDEX GL_FOG_MODE GL_FOG_START GL_FRONT_FACE GL_GREEN_BIAS GL_GREEN_BITS GL_GREEN_SCALE GL_INDEX_ARRAY GL_INDEX_ARRAY_STRIDE GL_INDEX_ARRAY_TYPE GL_INDEX_BITS GL_INDEX_CLEAR_VALUE GL_INDEX_LOGIC_OP GL_INDEX_MODE GL_INDEX_OFFSET GL_INDEX_SHIFT GL_INDEX_WRITEMASK GL_LIGHTING GL_LIGHT_MODEL_AMBIENT GL_LIGHT_MODEL_COLOR_CONTROL GL_LIGHT_MODEL_LOCAL_VIEWER GL_LIGHT_MODEL_TWO_SIDE GL_LINE_SMOOTH GL_LINE_SMOOTH_HINT GL_LINE_STIPPLE GL_LINE_STIPPLE_PATTERN GL_LINE_STIPPLE_REPEAT GL_LINE_WIDTH GL_LINE_WIDTH_GRANULARITY GL_LINE_WIDTH_RANGE GL_LIST_BASE GL_LIST_INDEX GL_LIST_MODE GL_LOGIC_OP_MODE GL_MAP1_COLOR_4 GL_MAP1_GRID_DOMAIN GL_MAP1_GRID_SEGMENTS GL_MAP1_INDEX GL_MAP1_NORMAL GL_MAP1_TEXTURE_COORD_1 GL_MAP1_TEXTURE_COORD_2 GL_MAP1_TEXTURE_COORD_3 GL_MAP1_TEXTURE_COORD_4 GL_MAP1_VERTEX_3 GL_MAP1_VERTEX_4 GL_MAP2_COLOR_4 GL_MAP2_GRID_DOMAIN GL_MAP2_GRID_SEGMENTS GL_MAP2_INDEX GL_MAP2_NORMAL GL_MAP2_TEXTURE_COORD_1 GL_MAP2_TEXTURE_COORD_2 GL_MAP2_TEXTURE_COORD_3 GL_MAP2_TEXTURE_COORD_4 GL_MAP2_VERTEX_3 GL_MAP2_VERTEX_4 GL_MAP_COLOR GL_MAP_STENCIL GL_MATRIX_MODE GL_MAX_3D_TEXTURE_SIZE GL_MAX_ATTRIB_STACK_DEPTH GL_MAX_CLIENT_ATTRIB_STACK_DEPTH GL_MAX_CLIP_PLANES GL_MAX_COLOR_MATRIX_STACK_DEPTH GL_MAX_ELEMENTS_INDICES GL_MAX_ELEMENTS_VERTICES GL_MAX_EVAL_ORDER GL_MAX_LIGHTS GL_MAX_LIST_NESTING GL_MAX_MODELVIEW_STACK_DEPTH GL_MAX_NAME_STACK_DEPTH GL_MAX_PIXEL_MAP_TABLE GL_MAX_PROJECTION_STACK_DEPTH GL_MAX_TEXTURE_SIZE GL_MAX_TEXTURE_STACK_DEPTH GL_MAX_TEXTURE_UNITS_ARB GL_MAX_VIEWPORT_DIMS GL_MODELVIEW_MATRIX GL_MODELVIEW_STACK_DEPTH GL_NAME_STACK_DEPTH GL_NORMAL_ARRAY GL_NORMAL_ARRAY_STRIDE GL_NORMAL_ARRAY_TYPE GL_NORMALIZE GL_PACK_ALIGNMENT GL_PACK_IMAGE_HEIGHT GL_PACK_LSB_FIRST GL_PACK_ROW_LENGTH GL_PACK_SKIP_IMAGES GL_PACK_SKIP_PIXELS GL_PACK_SKIP_ROWS GL_PACK_SWAP_BYTES GL_PERSPECTIVE_CORRECTION_HINT GL_PIXEL_MAP_A_TO_A_SIZE GL_PIXEL_MAP_B_TO_B_SIZE GL_PIXEL_MAP_G_TO_G_SIZE GL_PIXEL_MAP_I_TO_A_SIZE GL_PIXEL_MAP_I_TO_B_SIZE GL_PIXEL_MAP_I_TO_G_SIZE GL_PIXEL_MAP_I_TO_I_SIZE GL_PIXEL_MAP_I_TO_R_SIZE GL_PIXEL_MAP_R_TO_R_SIZE GL_PIXEL_MAP_S_TO_S_SIZE GL_POINT_SIZE GL_POINT_SIZE_GRANULARITY GL_POINT_SIZE_RANGE GL_POINT_SMOOTH GL_POINT_SMOOTH_HINT GL_POLYGON_MODE GL_POLYGON_OFFSET_FACTOR GL_POLYGON_OFFSET_FILL GL_POLYGON_OFFSET_LINE GL_POLYGON_OFFSET_POINT GL_POLYGON_OFFSET_UNITS GL_POLYGON_SMOOTH GL_POLYGON_SMOOTH_HINT GL_POLYGON_STIPPLE GL_PROJECTION_MATRIX GL_PROJECTION_STACK_DEPTH GL_READ_BUFFER GL_RED_BIAS GL_RED_BITS GL_RED_SCALE GL_RENDER_MODE GL_RESCALE_NORMAL GL_RGBA_MODE GL_SCISSOR_BOX GL_SCISSOR_TEST GL_SELECTION_BUFFER_SIZE GL_SHADE_MODEL GL_SMOOTH_LINE_WIDTH_GRANULARITY GL_SMOOTH_LINE_WIDTH_RANGE GL_SMOOTH_POINT_SIZE_GRANULARITY GL_SMOOTH_POINT_SIZE_RANGE GL_STENCIL_BITS GL_STENCIL_CLEAR_VALUE GL_STENCIL_FAIL GL_STENCIL_FUNC GL_STENCIL_PASS_DEPTH_FAIL GL_STENCIL_PASS_DEPTH_PASS GL_STENCIL_REF GL_STENCIL_TEST GL_STENCIL_VALUE_MASK GL_STENCIL_WRITEMASK GL_STEREO GL_SUBPIXEL_BITS GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D GL_TEXTURE_BINDING_1D GL_TEXTURE_BINDING_2D GL_TEXTURE_BINDING_3D GL_TEXTURE_COORD_ARRAY GL_TEXTURE_COORD_ARRAY_SIZE GL_TEXTURE_COORD_ARRAY_STRIDE GL_TEXTURE_COORD_ARRAY_TYPE GL_TEXTURE_GEN_Q GL_TEXTURE_GEN_R GL_TEXTURE_GEN_S GL_TEXTURE_GEN_T GL_TEXTURE_MATRIX GL_TEXTURE_STACK_DEPTH GL_UNPACK_ALIGNMENT GL_UNPACK_IMAGE_HEIGHT GL_UNPACK_LSB_FIRST GL_UNPACK_ROW_LENGTH GL_UNPACK_SKIP_IMAGES GL_UNPACK_SKIP_PIXELS GL_UNPACK_SKIP_ROWS GL_UNPACK_SWAP_BYTES GL_VERTEX_ARRAY GL_VERTEX_ARRAY_SIZE GL_VERTEX_ARRAY_STRIDE GL_VERTEX_ARRAY_TYPE GL_VIEWPORT GL_ZOOM_X GL_ZOOM_Y GL_CLIP_PLANE0 GL_CLIP_PLANE1 GL_CLIP_PLANE2 GL_CLIP_PLANE3 GL_CLIP_PLANE4 GL_CLIP_PLANE5 GL_LIGHT0 GL_LIGHT1 GL_LIGHT2 GL_LIGHT3 GL_LIGHT4 GL_LIGHT5 GL_LIGHT6 GL_LIGHT7 GL_MULTISAMPLE_ARB GL_SAMPLE_ALPHA_TO_COVERAGE_ARB GL_SAMPLE_ALPHA_TO_ONE_ARB GL_SAMPLE_COVERAGE_ARB GL_SAMPLE_BUFFERS_ARB GL_SAMPLES_ARB GL_SAMPLE_COVERAGE_VALUE_ARB GL_SAMPLE_COVERAGE_INVERT_ARB GL_POINT_SPRITE_ARB GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB GL_CLIP_VOLUME_CLIPPING_HINT_EXT GL_RASTER_POSITION_UNCLIPPED_IBM GL_GENERATE_MIPMAP_HINT_SGIS GL_FOG_DISTANCE_MODE_NV GL_TRANSPOSE_MODELVIEW_MATRIX_ARB GL_TRANSPOSE_PROJECTION_MATRIX_ARB GL_TRANSPOSE_TEXTURE_MATRIX_ARB GL_TRANSPOSE_COLOR_MATRIX_ARB GL_MAX_TEXTURE_LOD_BIAS_EXT GL_PER_STAGE_CONSTANTS_NV GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT GL_CURRENT_FOG_COORDINATE_EXT GL_FOG_COORDINATE_ARRAY_TYPE_EXT GL_FOG_COORDINATE_ARRAY_STRIDE_EXT GL_COLOR_SUM_EXT GL_CURRENT_SECONDARY_COLOR_EXT GL_SECONDARY_COLOR_ARRAY_SIZE_EXT GL_SECONDARY_COLOR_ARRAY_TYPE_EXT GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT GL_ARRAY_BUFFER_BINDING_ARB GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB GL_VERTEX_ARRAY_BUFFER_BINDING_ARB GL_NORMAL_ARRAY_BUFFER_BINDING_ARB GL_COLOR_ARRAY_BUFFER_BINDING_ARB GL_INDEX_ARRAY_BUFFER_BINDING_ARB GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB GL_TEXTURE_RECTANGLE_NV GL_TEXTURE_BINDING_RECTANGLE_NV GL_MAX_RECTANGLE_TEXTURE_SIZE_NV
     2626paramprop   pname       GL_ACCUM_ALPHA_BITS GL_ACCUM_BLUE_BITS GL_ACCUM_CLEAR_VALUE GL_ACCUM_GREEN_BITS GL_ACCUM_RED_BITS GL_ACTIVE_TEXTURE_ARB GL_ALIASED_LINE_WIDTH_RANGE GL_ALIASED_POINT_SIZE_RANGE GL_ALPHA_BIAS GL_ALPHA_BITS GL_ALPHA_SCALE GL_ALPHA_TEST GL_ALPHA_TEST_FUNC GL_ALPHA_TEST_REF GL_ATTRIB_STACK_DEPTH GL_AUTO_NORMAL GL_AUX_BUFFERS GL_BLEND GL_BLEND_COLOR GL_BLEND_DST GL_BLEND_EQUATION GL_BLEND_SRC GL_BLUE_BIAS GL_BLUE_BITS GL_BLUE_SCALE GL_CLIENT_ACTIVE_TEXTURE_ARB GL_CLIENT_ATTRIB_STACK_DEPTH GL_COLOR_ARRAY GL_COLOR_ARRAY_SIZE GL_COLOR_ARRAY_STRIDE GL_COLOR_ARRAY_TYPE GL_COLOR_CLEAR_VALUE GL_COLOR_LOGIC_OP GL_COLOR_MATERIAL GL_COLOR_MATERIAL_FACE GL_COLOR_MATERIAL_PARAMETER GL_COLOR_MATRIX_STACK_DEPTH GL_COLOR_WRITEMASK GL_CULL_FACE GL_CULL_FACE_MODE GL_CURRENT_COLOR GL_CURRENT_INDEX GL_CURRENT_NORMAL GL_CURRENT_RASTER_COLOR GL_CURRENT_RASTER_DISTANCE GL_CURRENT_RASTER_INDEX GL_CURRENT_RASTER_POSITION GL_CURRENT_RASTER_POSITION_VALID GL_CURRENT_RASTER_TEXTURE_COORDS GL_CURRENT_TEXTURE_COORDS GL_DEPTH_BIAS GL_DEPTH_BITS GL_DEPTH_CLEAR_VALUE GL_DEPTH_FUNC GL_DEPTH_RANGE GL_DEPTH_SCALE GL_DEPTH_TEST GL_DEPTH_WRITEMASK GL_DITHER GL_DOUBLEBUFFER GL_DRAW_BUFFER GL_EDGE_FLAG GL_EDGE_FLAG_ARRAY GL_EDGE_FLAG_ARRAY_STRIDE GL_FEEDBACK_BUFFER_SIZE GL_FEEDBACK_BUFFER_TYPE GL_FOG GL_FOG_COLOR GL_FOG_DENSITY GL_FOG_END GL_FOG_HINT GL_FOG_INDEX GL_FOG_MODE GL_FOG_START GL_FRONT_FACE GL_GREEN_BIAS GL_GREEN_BITS GL_GREEN_SCALE GL_INDEX_ARRAY GL_INDEX_ARRAY_STRIDE GL_INDEX_ARRAY_TYPE GL_INDEX_BITS GL_INDEX_CLEAR_VALUE GL_INDEX_LOGIC_OP GL_INDEX_MODE GL_INDEX_OFFSET GL_INDEX_SHIFT GL_INDEX_WRITEMASK GL_LIGHTING GL_LIGHT_MODEL_AMBIENT GL_LIGHT_MODEL_COLOR_CONTROL GL_LIGHT_MODEL_LOCAL_VIEWER GL_LIGHT_MODEL_TWO_SIDE GL_LINE_SMOOTH GL_LINE_SMOOTH_HINT GL_LINE_STIPPLE GL_LINE_STIPPLE_PATTERN GL_LINE_STIPPLE_REPEAT GL_LINE_WIDTH GL_LINE_WIDTH_GRANULARITY GL_LINE_WIDTH_RANGE GL_LIST_BASE GL_LIST_INDEX GL_LIST_MODE GL_LOGIC_OP_MODE GL_MAP1_COLOR_4 GL_MAP1_GRID_DOMAIN GL_MAP1_GRID_SEGMENTS GL_MAP1_INDEX GL_MAP1_NORMAL GL_MAP1_TEXTURE_COORD_1 GL_MAP1_TEXTURE_COORD_2 GL_MAP1_TEXTURE_COORD_3 GL_MAP1_TEXTURE_COORD_4 GL_MAP1_VERTEX_3 GL_MAP1_VERTEX_4 GL_MAP2_COLOR_4 GL_MAP2_GRID_DOMAIN GL_MAP2_GRID_SEGMENTS GL_MAP2_INDEX GL_MAP2_NORMAL GL_MAP2_TEXTURE_COORD_1 GL_MAP2_TEXTURE_COORD_2 GL_MAP2_TEXTURE_COORD_3 GL_MAP2_TEXTURE_COORD_4 GL_MAP2_VERTEX_3 GL_MAP2_VERTEX_4 GL_MAP_COLOR GL_MAP_STENCIL GL_MATRIX_MODE GL_MAX_3D_TEXTURE_SIZE GL_MAX_ATTRIB_STACK_DEPTH GL_MAX_CLIENT_ATTRIB_STACK_DEPTH GL_MAX_CLIP_PLANES GL_MAX_COLOR_MATRIX_STACK_DEPTH GL_MAX_ELEMENTS_INDICES GL_MAX_ELEMENTS_VERTICES GL_MAX_EVAL_ORDER GL_MAX_LIGHTS GL_MAX_LIST_NESTING GL_MAX_MODELVIEW_STACK_DEPTH GL_MAX_NAME_STACK_DEPTH GL_MAX_PIXEL_MAP_TABLE GL_MAX_PROJECTION_STACK_DEPTH GL_MAX_TEXTURE_SIZE GL_MAX_TEXTURE_STACK_DEPTH GL_MAX_TEXTURE_UNITS_ARB GL_MAX_VIEWPORT_DIMS GL_MODELVIEW_MATRIX GL_MODELVIEW_STACK_DEPTH GL_NAME_STACK_DEPTH GL_NORMAL_ARRAY GL_NORMAL_ARRAY_STRIDE GL_NORMAL_ARRAY_TYPE GL_NORMALIZE GL_PACK_ALIGNMENT GL_PACK_IMAGE_HEIGHT GL_PACK_LSB_FIRST GL_PACK_ROW_LENGTH GL_PACK_SKIP_IMAGES GL_PACK_SKIP_PIXELS GL_PACK_SKIP_ROWS GL_PACK_SWAP_BYTES GL_PERSPECTIVE_CORRECTION_HINT GL_PIXEL_MAP_A_TO_A_SIZE GL_PIXEL_MAP_B_TO_B_SIZE GL_PIXEL_MAP_G_TO_G_SIZE GL_PIXEL_MAP_I_TO_A_SIZE GL_PIXEL_MAP_I_TO_B_SIZE GL_PIXEL_MAP_I_TO_G_SIZE GL_PIXEL_MAP_I_TO_I_SIZE GL_PIXEL_MAP_I_TO_R_SIZE GL_PIXEL_MAP_R_TO_R_SIZE GL_PIXEL_MAP_S_TO_S_SIZE GL_POINT_SIZE GL_POINT_SIZE_GRANULARITY GL_POINT_SIZE_RANGE GL_POINT_SMOOTH GL_POINT_SMOOTH_HINT GL_POLYGON_MODE GL_POLYGON_OFFSET_FACTOR GL_POLYGON_OFFSET_FILL GL_POLYGON_OFFSET_LINE GL_POLYGON_OFFSET_POINT GL_POLYGON_OFFSET_UNITS GL_POLYGON_SMOOTH GL_POLYGON_SMOOTH_HINT GL_POLYGON_STIPPLE GL_PROJECTION_MATRIX GL_PROJECTION_STACK_DEPTH GL_READ_BUFFER GL_RED_BIAS GL_RED_BITS GL_RED_SCALE GL_RENDER_MODE GL_RESCALE_NORMAL GL_RGBA_MODE GL_SCISSOR_BOX GL_SCISSOR_TEST GL_SELECTION_BUFFER_SIZE GL_SHADE_MODEL GL_SMOOTH_LINE_WIDTH_GRANULARITY GL_SMOOTH_LINE_WIDTH_RANGE GL_SMOOTH_POINT_SIZE_GRANULARITY GL_SMOOTH_POINT_SIZE_RANGE GL_STENCIL_BITS GL_STENCIL_CLEAR_VALUE GL_STENCIL_FAIL GL_STENCIL_FUNC GL_STENCIL_PASS_DEPTH_FAIL GL_STENCIL_PASS_DEPTH_PASS GL_STENCIL_REF GL_STENCIL_TEST GL_STENCIL_VALUE_MASK GL_STENCIL_WRITEMASK GL_STEREO GL_SUBPIXEL_BITS GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D GL_TEXTURE_BINDING_1D GL_TEXTURE_BINDING_2D GL_TEXTURE_BINDING_3D GL_TEXTURE_COORD_ARRAY GL_TEXTURE_COORD_ARRAY_SIZE GL_TEXTURE_COORD_ARRAY_STRIDE GL_TEXTURE_COORD_ARRAY_TYPE GL_TEXTURE_GEN_Q GL_TEXTURE_GEN_R GL_TEXTURE_GEN_S GL_TEXTURE_GEN_T GL_TEXTURE_MATRIX GL_TEXTURE_STACK_DEPTH GL_UNPACK_ALIGNMENT GL_UNPACK_IMAGE_HEIGHT GL_UNPACK_LSB_FIRST GL_UNPACK_ROW_LENGTH GL_UNPACK_SKIP_IMAGES GL_UNPACK_SKIP_PIXELS GL_UNPACK_SKIP_ROWS GL_UNPACK_SWAP_BYTES GL_VERTEX_ARRAY GL_VERTEX_ARRAY_SIZE GL_VERTEX_ARRAY_STRIDE GL_VERTEX_ARRAY_TYPE GL_VIEWPORT GL_ZOOM_X GL_ZOOM_Y GL_CLIP_PLANE0 GL_CLIP_PLANE1 GL_CLIP_PLANE2 GL_CLIP_PLANE3 GL_CLIP_PLANE4 GL_CLIP_PLANE5 GL_LIGHT0 GL_LIGHT1 GL_LIGHT2 GL_LIGHT3 GL_LIGHT4 GL_LIGHT5 GL_LIGHT6 GL_LIGHT7 GL_MULTISAMPLE_ARB GL_SAMPLE_ALPHA_TO_COVERAGE_ARB GL_SAMPLE_ALPHA_TO_ONE_ARB GL_SAMPLE_COVERAGE_ARB GL_SAMPLE_BUFFERS_ARB GL_SAMPLES_ARB GL_SAMPLE_COVERAGE_VALUE_ARB GL_SAMPLE_COVERAGE_INVERT_ARB GL_POINT_SPRITE_ARB GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB GL_CLIP_VOLUME_CLIPPING_HINT_EXT GL_RASTER_POSITION_UNCLIPPED_IBM GL_GENERATE_MIPMAP_HINT_SGIS GL_FOG_DISTANCE_MODE_NV GL_TRANSPOSE_MODELVIEW_MATRIX_ARB GL_TRANSPOSE_PROJECTION_MATRIX_ARB GL_TRANSPOSE_TEXTURE_MATRIX_ARB GL_TRANSPOSE_COLOR_MATRIX_ARB GL_MAX_TEXTURE_LOD_BIAS_EXT GL_PER_STAGE_CONSTANTS_NV GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT GL_CURRENT_FOG_COORDINATE_EXT GL_FOG_COORDINATE_ARRAY_TYPE_EXT GL_FOG_COORDINATE_ARRAY_STRIDE_EXT GL_COLOR_SUM_EXT GL_CURRENT_SECONDARY_COLOR_EXT GL_SECONDARY_COLOR_ARRAY_SIZE_EXT GL_SECONDARY_COLOR_ARRAY_TYPE_EXT GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT GL_ARRAY_BUFFER_BINDING_ARB GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB GL_VERTEX_ARRAY_BUFFER_BINDING_ARB GL_NORMAL_ARRAY_BUFFER_BINDING_ARB GL_COLOR_ARRAY_BUFFER_BINDING_ARB GL_INDEX_ARRAY_BUFFER_BINDING_ARB GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB GL_TEXTURE_RECTANGLE_NV GL_TEXTURE_BINDING_RECTANGLE_NV GL_MAX_RECTANGLE_TEXTURE_SIZE_NV GL_FRAMEBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING_EXT GL_MAX_COLOR_ATTACHMENTS_EXT GL_MAX_RENDERBUFFER_SIZE_EXT
    26272627param       params      GLint *
    26282628category    1.0
     
    1004310043chromium    nopack
    1004410044
     10045# GL_EXT_framebuffer_object
     10046
     10047name        IsRenderbufferEXT
     10048return      GLboolean
     10049param       renderbuffer    GLuint
     10050category    GL_EXT_framebuffer_object
     10051props       get
     10052chromium    extpack
     10053
     10054name        BindRenderbufferEXT
     10055return      void
     10056param       target          GLenum
     10057paramprop   target          GL_RENDERBUFFER_EXT
     10058param       renderbuffer    GLuint
     10059category    GL_EXT_framebuffer_object
     10060chromium    extpack
     10061
     10062name        DeleteRenderbuffersEXT
     10063return      void
     10064param       n               GLsizei
     10065param       renderbuffers   const GLuint *
     10066category    GL_EXT_framebuffer_object
     10067chromium    extpack
     10068
     10069name        GenRenderbuffersEXT
     10070return      void
     10071param       n               GLsizei
     10072param       renderbuffers   GLuint *
     10073category    GL_EXT_framebuffer_object
     10074props       get
     10075chromium    extpack
     10076
     10077name        RenderbufferStorageEXT
     10078return      void
     10079param       target          GLenum
     10080paramprop   target          GL_RENDERBUFFER_EXT
     10081param       internalformat  GLenum
     10082paramprop   internalformat  GL_STENCIL_INDEX1_EXT GL_STENCIL_INDEX4_EXT GL_STENCIL_INDEX8_EXT GL_STENCIL_INDEX16_EXT GL_ALPHA GL_ALPHA4 GL_ALPHA8 GL_ALPHA12 GL_ALPHA16 GL_LUMINANCE GL_LUMINANCE4 GL_LUMINANCE8 GL_LUMINANCE12 GL_LUMINANCE16 GL_LUMINANCE_ALPHA GL_LUMINANCE4_ALPHA4 GL_LUMINANCE6_ALPHA2 GL_LUMINANCE8_ALPHA8 GL_LUMINANCE12_ALPHA4 GL_LUMINANCE12_ALPHA12 GL_LUMINANCE16_ALPHA16 GL_INTENSITY GL_INTENSITY4 GL_INTENSITY8 GL_INTENSITY12 GL_INTENSITY16 GL_R3_G3_B2 GL_RGB GL_RGB4 GL_RGB5 GL_RGB8 GL_RGB10 GL_RGB12 GL_RGB16 GL_RGBA GL_RGBA2 GL_RGBA4 GL_RGB5_A1 GL_RGBA8 GL_RGB10_A2 GL_RGBA12 GL_RGBA16 GL_COMPRESSED_ALPHA_ARB GL_COMPRESSED_LUMINANCE_ARB GL_COMPRESSED_LUMINANCE_ALPHA_ARB GL_COMPRESSED_INTENSITY_ARB GL_COMPRESSED_RGB_ARB GL_COMPRESSED_RGBA_ARB
     10083param       width           GLsizei
     10084param       height          GLsizei
     10085category    GL_EXT_framebuffer_object
     10086chromium    extpack
     10087
     10088name        GetRenderbufferParameterivEXT
     10089return      void
     10090param       target          GLenum
     10091paramprop   target          GL_RENDERBUFFER_EXT
     10092param       pname           GLenum
     10093paramprop   pname           GL_RENDERBUFFER_WIDTH_EXT GL_RENDERBUFFER_HEIGHT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_RED_SIZE_EXT GL_RENDERBUFFER_GREEN_SIZE_EXT GL_RENDERBUFFER_BLUE_SIZE_EXT GL_RENDERBUFFER_ALPHA_SIZE_EXT GL_RENDERBUFFER_DEPTH_SIZE_EXT GL_RENDERBUFFER_STENCIL_SIZE_EXT
     10094param       params          GLint *
     10095category    GL_EXT_framebuffer_object
     10096props       get
     10097chromium    extpack
     10098
     10099name        IsFramebufferEXT
     10100return      GLboolean
     10101param       framebuffer     GLuint
     10102category    GL_EXT_framebuffer_object
     10103props       get
     10104chromium    extpack
     10105
     10106name        BindFramebufferEXT
     10107return      void
     10108param       target          GLenum
     10109paramprop   target          GL_FRAMEBUFFER_EXT
     10110param       framebuffer     GLuint
     10111category    GL_EXT_framebuffer_object
     10112chromium    extpack
     10113
     10114name        DeleteFramebuffersEXT
     10115return      void
     10116param       n               GLsizei
     10117param       framebuffers    const GLuint *
     10118category    GL_EXT_framebuffer_object
     10119chromium    extpack
     10120
     10121name        GenFramebuffersEXT
     10122return      void
     10123param       n               GLsizei
     10124param       framebuffers    GLuint *
     10125category    GL_EXT_framebuffer_object
     10126props       get
     10127chromium    extpack
     10128
     10129name        CheckFramebufferStatusEXT
     10130return      GLenum
     10131param       target          GLenum
     10132paramprop   target          GL_FRAMEBUFFER_EXT
     10133category    GL_EXT_framebuffer_object
     10134props       get
     10135chromium    extpack
     10136
     10137name        FramebufferTexture1DEXT
     10138return      void
     10139param       target          GLenum
     10140paramprop   target          GL_FRAMEBUFFER_EXT
     10141param       attachment      GLenum
     10142paramprop   attachment      GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT GL_COLOR_ATTACHMENT2_EXT GL_COLOR_ATTACHMENT3_EXT GL_COLOR_ATTACHMENT4_EXT GL_COLOR_ATTACHMENT5_EXT GL_COLOR_ATTACHMENT6_EXT GL_COLOR_ATTACHMENT7_EXT GL_COLOR_ATTACHMENT8_EXT GL_COLOR_ATTACHMENT9_EXT GL_COLOR_ATTACHMENT10_EXT GL_COLOR_ATTACHMENT11_EXT GL_COLOR_ATTACHMENT12_EXT GL_COLOR_ATTACHMENT13_EXT GL_COLOR_ATTACHMENT14_EXT GL_COLOR_ATTACHMENT15_EXT GL_DEPTH_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_EXT
     10143param       textarget       GLenum
     10144param       texture         GLuint
     10145param       level           GLint
     10146return      void
     10147category    GL_EXT_framebuffer_object
     10148chromium    extpack
     10149
     10150name        FramebufferTexture2DEXT
     10151return      void
     10152param       target          GLenum
     10153paramprop   target          GL_FRAMEBUFFER_EXT
     10154param       attachment      GLenum
     10155paramprop   attachment      GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT GL_COLOR_ATTACHMENT2_EXT GL_COLOR_ATTACHMENT3_EXT GL_COLOR_ATTACHMENT4_EXT GL_COLOR_ATTACHMENT5_EXT GL_COLOR_ATTACHMENT6_EXT GL_COLOR_ATTACHMENT7_EXT GL_COLOR_ATTACHMENT8_EXT GL_COLOR_ATTACHMENT9_EXT GL_COLOR_ATTACHMENT10_EXT GL_COLOR_ATTACHMENT11_EXT GL_COLOR_ATTACHMENT12_EXT GL_COLOR_ATTACHMENT13_EXT GL_COLOR_ATTACHMENT14_EXT GL_COLOR_ATTACHMENT15_EXT GL_DEPTH_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_EXT
     10156param       textarget       GLenum
     10157param       texture         GLuint
     10158param       level           GLint
     10159return      void
     10160category    GL_EXT_framebuffer_object
     10161chromium    extpack
     10162
     10163name        FramebufferTexture3DEXT
     10164return      void
     10165param       target          GLenum
     10166paramprop   target          GL_FRAMEBUFFER_EXT
     10167param       attachment      GLenum
     10168paramprop   attachment      GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT GL_COLOR_ATTACHMENT2_EXT GL_COLOR_ATTACHMENT3_EXT GL_COLOR_ATTACHMENT4_EXT GL_COLOR_ATTACHMENT5_EXT GL_COLOR_ATTACHMENT6_EXT GL_COLOR_ATTACHMENT7_EXT GL_COLOR_ATTACHMENT8_EXT GL_COLOR_ATTACHMENT9_EXT GL_COLOR_ATTACHMENT10_EXT GL_COLOR_ATTACHMENT11_EXT GL_COLOR_ATTACHMENT12_EXT GL_COLOR_ATTACHMENT13_EXT GL_COLOR_ATTACHMENT14_EXT GL_COLOR_ATTACHMENT15_EXT GL_DEPTH_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_EXT
     10169param       textarget       GLenum
     10170param       texture         GLuint
     10171param       level           GLint
     10172param       zoffset         GLint
     10173return      void
     10174category    GL_EXT_framebuffer_object
     10175chromium    extpack
     10176
     10177name        FramebufferRenderbufferEXT
     10178return      void
     10179param       target          GLenum
     10180param       attachment      GLenum
     10181paramprop   attachment      GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT GL_COLOR_ATTACHMENT2_EXT GL_COLOR_ATTACHMENT3_EXT GL_COLOR_ATTACHMENT4_EXT GL_COLOR_ATTACHMENT5_EXT GL_COLOR_ATTACHMENT6_EXT GL_COLOR_ATTACHMENT7_EXT GL_COLOR_ATTACHMENT8_EXT GL_COLOR_ATTACHMENT9_EXT GL_COLOR_ATTACHMENT10_EXT GL_COLOR_ATTACHMENT11_EXT GL_COLOR_ATTACHMENT12_EXT GL_COLOR_ATTACHMENT13_EXT GL_COLOR_ATTACHMENT14_EXT GL_COLOR_ATTACHMENT15_EXT GL_DEPTH_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_EXT
     10182param       renderbuffertarget GLenum
     10183param       renderbuffer    GLuint
     10184category    GL_EXT_framebuffer_object
     10185chromium    extpack
     10186
     10187name        GetFramebufferAttachmentParameterivEXT
     10188return      void
     10189param       target          GLenum
     10190paramprop   target          GL_FRAMEBUFFER_EXT
     10191param       attachment      GLenum
     10192paramprop   attachment      GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT GL_COLOR_ATTACHMENT2_EXT GL_COLOR_ATTACHMENT3_EXT GL_COLOR_ATTACHMENT4_EXT GL_COLOR_ATTACHMENT5_EXT GL_COLOR_ATTACHMENT6_EXT GL_COLOR_ATTACHMENT7_EXT GL_COLOR_ATTACHMENT8_EXT GL_COLOR_ATTACHMENT9_EXT GL_COLOR_ATTACHMENT10_EXT GL_COLOR_ATTACHMENT11_EXT GL_COLOR_ATTACHMENT12_EXT GL_COLOR_ATTACHMENT13_EXT GL_COLOR_ATTACHMENT14_EXT GL_COLOR_ATTACHMENT15_EXT GL_DEPTH_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_EXT
     10193param       pname           GLenum
     10194paramprop   pname           GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
     10195param       params          GLint *
     10196category    GL_EXT_framebuffer_object
     10197props       get
     10198chromium    extpack
     10199
     10200name        GenerateMipmapEXT
     10201return      void
     10202param       target          GLenum
     10203category    GL_EXT_framebuffer_object
     10204chromium    extpack
     10205
    1004510206# end of file sentinel
    1004610207
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_extstring.h

    r21830 r22155  
    200200#endif
    201201#ifdef CR_EXT_draw_range_elements
    202     "GL_EXT_draw_range_elements"
     202    "GL_EXT_draw_range_elements "
     203#endif
     204#ifdef CR_EXT_framebuffer_object
     205    "GL_EXT_framebuffer_object"
    203206#endif
    204207        "";
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_glstate.h

    r15532 r22155  
    3939
    4040#include "state/cr_attrib.h"
     41#include "state/cr_framebuffer.h"
    4142
    4243#include "state/cr_statefuncs.h"
     
    149150    CRViewportState    viewport;
    150151
     152#ifdef CR_EXT_framebuffer_object
     153    CRFramebufferObjectState    framebufferobject;
     154#endif
     155
    151156    /** For buffering vertices for selection/feedback */
    152157    /*@{*/
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_protocol.h

    r21523 r22155  
    1616/*For now guest is allowed to connect host opengl service if protocol version matches exactly*/
    1717/*Note: that after any change to this file, or glapi_parser\apispec.txt version should be changed*/
    18 #define CR_PROTOCOL_VERSION_MAJOR 1
     18#define CR_PROTOCOL_VERSION_MAJOR 2
    1919#define CR_PROTOCOL_VERSION_MINOR 1
    2020
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_version.h

    r21830 r22155  
    119119#define CR_ARB_shading_language_100 1
    120120
     121#define CR_EXT_framebuffer_object 1
     122
    121123#endif /* CR_VERSION_H */
  • trunk/src/VBox/GuestHost/OpenGL/packer/packer_special

    r21845 r22155  
    167167GetBufferSubDataARB
    168168DeleteQueriesARB
     169DeleteFramebuffersEXT
     170DeleteRenderbuffersEXT
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_buffer.c

    r22154 r22155  
    490490        case GL_AUX2:
    491491        case GL_AUX3:
     492            if (g->framebufferobject.framebuffer)
     493            {
     494                crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION, "glDrawBuffer invalud mode while fbo is active");
     495                return;
     496            }
    492497            break;
    493498        default:
    494             crStateError(__LINE__, __FILE__, GL_INVALID_ENUM, "glDrawBuffer called with bogus mode: %d", mode);
    495             return;
    496     }
    497 
    498     b->drawBuffer = mode;
    499     DIRTY(bb->dirty, g->neg_bitid);
    500     DIRTY(bb->drawBuffer, g->neg_bitid);
     499            if (mode>=GL_COLOR_ATTACHMENT0_EXT && mode<=GL_COLOR_ATTACHMENT15_EXT)
     500            {
     501                if (!g->framebufferobject.framebuffer)
     502                {
     503                    crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION, "glDrawBuffer invalud mode while fbo is inactive");
     504                    return;
     505                }
     506            }
     507            else
     508            {
     509                crStateError(__LINE__, __FILE__, GL_INVALID_ENUM, "glDrawBuffer called with bogus mode: %d", mode);
     510                return;
     511            }
     512    }
     513
     514    if (g->framebufferobject.framebuffer)
     515    {
     516        g->framebufferobject.framebuffer->drawbuffer[0] = mode;
     517    }
     518    else
     519    {
     520        b->drawBuffer = mode;
     521        DIRTY(bb->dirty, g->neg_bitid);
     522        DIRTY(bb->drawBuffer, g->neg_bitid);
     523    }
    501524}
    502525
     
    532555        case GL_AUX2:
    533556        case GL_AUX3:
     557            if (g->framebufferobject.framebuffer)
     558            {
     559                crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION, "glReadBuffer invalud mode while fbo is active");
     560                return;
     561            }
    534562            break;
    535563        default:
    536             crStateError(__LINE__, __FILE__, GL_INVALID_ENUM, "glReadBuffer called with bogus mode: %d", mode);
    537             return;
    538     }
    539 
    540     b->readBuffer = mode;
    541     DIRTY(bb->dirty, g->neg_bitid);
    542     DIRTY(bb->readBuffer, g->neg_bitid);
     564            if (mode>=GL_COLOR_ATTACHMENT0_EXT && mode<=GL_COLOR_ATTACHMENT15_EXT)
     565            {
     566                if (!g->framebufferobject.framebuffer)
     567                {
     568                    crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION, "glReadBuffer invalud mode while fbo is inactive");
     569                    return;
     570                }
     571                else
     572                {
     573                    /*@todo, check if fbo binding is complete*/
     574                }
     575            }
     576            else
     577            {
     578                crStateError(__LINE__, __FILE__, GL_INVALID_ENUM, "glReadBuffer called with bogus mode: %d", mode);
     579                return;
     580            }
     581    }
     582
     583    if (g->framebufferobject.framebuffer)
     584    {
     585        g->framebufferobject.framebuffer->readbuffer = mode;
     586    }
     587    else
     588    {
     589        b->readBuffer = mode;
     590        DIRTY(bb->dirty, g->neg_bitid);
     591        DIRTY(bb->readBuffer, g->neg_bitid);
     592    }
    543593}
    544594
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_get.py

    r15532 r22155  
    130130                return 0x80000000;
    131131        return (GLint) floor( f * 2147483647.5f );
     132}
     133
     134static GLenum __getDrawBuffer(CRContext *g)
     135{
     136    return g->framebufferobject.framebuffer ? g->framebufferobject.framebuffer->drawbuffer[0] : g->buffer.drawBuffer;
     137}
     138
     139static GLenum __getReadBuffer(CRContext *g)
     140{
     141    return g->framebufferobject.framebuffer ? g->framebufferobject.framebuffer->readbuffer : g->buffer.readBuffer;
    132142}
    133143"""
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_get.txt

    r19099 r22155  
    224224GLenum    GL_ALPHA_TEST_FUNC          g->buffer.alphaTestFunc
    225225GLint     GL_ALPHA_TEST_REF           g->buffer.alphaTestRef
    226 GLenum    GL_DRAW_BUFFER              g->buffer.drawBuffer
    227 GLenum    GL_READ_BUFFER              g->buffer.readBuffer
     226GLenum    GL_DRAW_BUFFER              __getDrawBuffer(g)
     227GLenum    GL_READ_BUFFER              __getReadBuffer(g)
    228228GLboolean GL_COLOR_WRITEMASK          g->buffer.colorWriteMask.r g->buffer.colorWriteMask.g g->buffer.colorWriteMask.b g->buffer.colorWriteMask.a
    229229GLint     GL_INDEX_WRITEMASK          g->buffer.indexWriteMask
     
    300300GLint GL_FEEDBACK_BUFFER_TYPE g->feedback.type
    301301GLint GL_SELECTION_BUFFER_SIZE g->selection.bufferSize
     302
     303# FBO
     304GLint GL_FRAMEBUFFER_BINDING_EXT (g->framebufferobject.framebuffer?g->framebufferobject.framebuffer->id:0)
     305GLint GL_RENDERBUFFER_BINDING_EXT (g->framebufferobject.renderbuffer?g->framebufferobject.renderbuffer->id:0)
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_init.c

    r15532 r22155  
    124124    crStateTransformInit( ctx );
    125125    crStateViewportInit ( ctx );
    126    
     126    crStateFramebufferObjectInit(ctx);
     127
    127128    /* This has to come last. */
    128129    crStateAttribInit( &(ctx->attrib) );
     
    190191    crStateTransformDestroy( ctx );
    191192    crStateFreeShared(ctx->shared);
     193    crStateFramebufferObjectDestroy(ctx);
    192194    crFree( ctx );
    193195}
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_special

    r15532 r22155  
    352352GetQueryObjectivARB
    353353GetQueryObjectuivARB
     354BindRenderbufferEXT
     355DeleteRenderbuffersEXT
     356RenderbufferStorageEXT
     357BindFramebufferEXT
     358DeleteFramebuffersEXT
     359FramebufferTexture1DEXT
     360FramebufferTexture2DEXT
     361FramebufferTexture3DEXT
     362FramebufferRenderbufferEXT
     363GetFramebufferAttachmentParameterivEXT
     364GenerateMipmapEXT
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_texture.c

    r15532 r22155  
    692692#endif
    693693                        }
     694
     695#ifdef CR_EXT_framebuffer_object
     696            if (g->framebufferobject.framebuffer)
     697            {
     698                CRFBOAttachmentPoint *ap;
     699                for (u=0; u<CR_MAX_COLOR_ATTACHMENTS; ++u)
     700                {
     701                    ap = &g->framebufferobject.framebuffer->color[u];
     702                    if (ap->type==GL_TEXTURE && ap->name==name)
     703                    {
     704                        crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, u+GL_COLOR_ATTACHMENT0_EXT, 0, 0, 0);
     705                    }
     706                }
     707                ap = &g->framebufferobject.framebuffer->depth;
     708                if (ap->type==GL_TEXTURE && ap->name==name)
     709                {
     710                    crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, 0, 0, 0);
     711                }
     712                ap = &g->framebufferobject.framebuffer->stencil;
     713                if (ap->type==GL_TEXTURE && ap->name==name)
     714                {
     715                    crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, 0, 0, 0);
     716                }
     717            }
     718#endif
    694719                        crStateDeleteTextureObject(tObj);
    695720                }
  • trunk/src/VBox/HostServices/SharedOpenGL/Makefile.kmk

    r20451 r22155  
    127127        crserverlib/server_writeback.c \
    128128        crserverlib/server_getshaders.c \
     129        crserverlib/server_framebuffer.c \
    129130        $(VBOX_PATH_CROGL_GENFILES)/server_dispatch.c \
    130131        $(VBOX_PATH_CROGL_GENFILES)/server_retval.c \
     
    141142# Generate files for VBoxOGLcrserverlib
    142143#
    143 $(VBOX_PATH_CROGL_GENFILES)/server_dispatch.h: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch_header.py server_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
    144         $(call MSG_GENERATE,python,$@,$<)
    145         $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
    146 
    147 $(VBOX_PATH_CROGL_GENFILES)/server_dispatch.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch.py server_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
     144$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.h: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch_header.py server_special) $(VBOX_CROGL_API_FILES) $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/state_tracker/state_special | $$(dir $$@)
     145        $(call MSG_GENERATE,python,$@,$<)
     146        $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
     147
     148$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch.py server_special) $(VBOX_CROGL_API_FILES) $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/state_tracker/state_special | $$(dir $$@)
    148149        $(call MSG_GENERATE,python,$@,$<)
    149150        $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
     
    197198        unpacker/unpack_visibleregion.c \
    198199        unpacker/unpack_shaders.c \
     200        unpacker/unpack_framebuffer.c \
    199201        $(VBOX_PATH_CROGL_GENFILES)/unpack.c
    200202VBoxOGLcrunpacker_CLEAN = \
  • trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp

    r21990 r22155  
    7070
    7171static const char* gszVBoxOGLSSMMagic = "***OpenGL state data***";
    72 #define SHCROGL_SSM_VERSION 4
     72#define SHCROGL_SSM_VERSION 5
    7373
    7474typedef struct
     
    208208    AssertRCReturn(rc, rc);
    209209    if ((SHCROGL_SSM_VERSION != ui32)
    210         && (3 != ui32))
    211         return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION;
     210        && ((SHCROGL_SSM_VERSION!=4) || (3!=ui32)))
     211    {
     212        /*@todo: add some warning here*/
     213        /*@todo: in many cases saved states would be made without any opengl guest app running.
     214         *       that means we could safely restore the default context.
     215         */
     216        rc = SSMR3SkipToEndOfUnit(pSSM);
     217        return rc;
     218    }
    212219
    213220    /* The state itself */
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py

    r21308 r22155  
    375375    'GL_STENCIL_BACK_PASS_DEPTH_FAIL': (1, 'CR_OPENGL_VERSION_2_0'),
    376376    'GL_STENCIL_BACK_PASS_DEPTH_PASS': (1, 'CR_OPENGL_VERSION_2_0'),
    377 
     377    # Frame buffer object EXT #
     378    'GL_FRAMEBUFFER_BINDING_EXT': (1, 'CR_EXT_framebuffer_object'),
     379    'GL_RENDERBUFFER_BINDING_EXT': (1, 'CR_EXT_framebuffer_object'),
     380    'GL_MAX_COLOR_ATTACHMENTS_EXT': (1, 'CR_EXT_framebuffer_object'),
     381    'GL_MAX_RENDERBUFFER_SIZE_EXT': (1, 'CR_EXT_framebuffer_object'),
    378382}
    379383
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c

    r15532 r22155  
    5959        }
    6060}
    61 
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_get.py

    r20467 r22155  
    7474    'GetShaderiv' : 1,
    7575    'GetObjectParameterfvARB': 1,
    76     'GetObjectParameterivARB': 1
     76    'GetObjectParameterivARB': 1,
     77    'GetRenderbufferParameterivEXT': 1,
     78    'GetFramebufferAttachmentParameterivEXT': 1
    7779}
    7880
     
    9395    'GetShaderiv',
    9496    'GetObjectParameterfvARB',
    95     'GetObjectParameterivARB'
     97    'GetObjectParameterivARB',
     98    'GetRenderbufferParameterivEXT',
     99    'GetFramebufferAttachmentParameterivEXT'
    96100];
    97101
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_special

    r21033 r22155  
    192192GetAttachedObjectsARB
    193193GetInfoLogARB
     194GenFramebuffersEXT
     195GenRenderbuffersEXT
     196FramebufferTexture1DEXT
     197FramebufferTexture2DEXT
     198FramebufferTexture3DEXT
  • trunk/src/VBox/HostServices/SharedOpenGL/unpacker/unpacker_special

    r21845 r22155  
    164164GetInfoLogARB
    165165DeleteQueriesARB
     166DeleteFramebuffersEXT
     167DeleteRenderbuffersEXT
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette