From 0dc5c8392fcc41a14c66425e861715bab06de7ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 19 Jan 2018 17:06:58 -0800 Subject: [PATCH] Removed unused argument from setImage. --- include/bgfx/bgfx.h | 6 +----- include/bgfx/c99/bgfx.h | 4 ++-- include/bgfx/c99/platform.h | 2 +- include/bgfx/defines.h | 2 +- src/bgfx.cpp | 25 ++++++++++++------------- src/bgfx_p.h | 8 +------- 6 files changed, 18 insertions(+), 29 deletions(-) diff --git a/include/bgfx/bgfx.h b/include/bgfx/bgfx.h index 8df707fdb..43f0251f0 100644 --- a/include/bgfx/bgfx.h +++ b/include/bgfx/bgfx.h @@ -1378,7 +1378,6 @@ namespace bgfx /// Set compute image from texture. /// /// @param[in] _stage Texture unit. - /// @param[in] _sampler Program sampler. /// @param[in] _handle Texture handle. /// @param[in] _mip Mip level. /// @param[in] _access Texture access. See `Access::Enum`. @@ -1388,7 +1387,6 @@ namespace bgfx /// void setImage( uint8_t _stage - , UniformHandle _sampler , TextureHandle _handle , uint8_t _mip , Access::Enum _access @@ -3714,7 +3712,6 @@ namespace bgfx /// Set compute image from texture. /// /// @param[in] _stage Texture unit. - /// @param[in] _sampler Program sampler. /// @param[in] _handle Texture handle. /// @param[in] _mip Mip level. /// @param[in] _access Texture access. See `Access::Enum`. @@ -3724,7 +3721,6 @@ namespace bgfx /// void setImage( uint8_t _stage - , UniformHandle _sampler , TextureHandle _handle , uint8_t _mip , Access::Enum _access @@ -3798,7 +3794,7 @@ namespace bgfx /// @attention Destination texture must be created with `BGFX_TEXTURE_BLIT_DST` flag. /// @attention Availability depends on: `BGFX_CAPS_TEXTURE_BLIT`. /// @attention C99 equivalent is `bgfx_blit`. - /// + /// void blit( ViewId _id , TextureHandle _dst diff --git a/include/bgfx/c99/bgfx.h b/include/bgfx/c99/bgfx.h index 8926a0e35..ff0125c3f 100644 --- a/include/bgfx/c99/bgfx.h +++ b/include/bgfx/c99/bgfx.h @@ -953,7 +953,7 @@ BGFX_C_API void bgfx_submit_occlusion_query(bgfx_view_id_t _id, bgfx_program_han BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _handle, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, int32_t _depth, bool _preserveState); /**/ -BGFX_C_API void bgfx_set_image(uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); +BGFX_C_API void bgfx_set_image(uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); /**/ BGFX_C_API void bgfx_set_compute_index_buffer(uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access); @@ -1055,7 +1055,7 @@ BGFX_C_API void bgfx_encoder_submit_occlusion_query(struct bgfx_encoder* _encode BGFX_C_API void bgfx_encoder_submit_indirect(struct bgfx_encoder* _encoder, bgfx_view_id_t _id, bgfx_program_handle_t _handle, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, int32_t _depth, bool _preserveState); /**/ -BGFX_C_API void bgfx_encoder_set_image(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); +BGFX_C_API void bgfx_encoder_set_image(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); /**/ BGFX_C_API void bgfx_encoder_set_compute_index_buffer(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access); diff --git a/include/bgfx/c99/platform.h b/include/bgfx/c99/platform.h index 672e9b951..420ae2732 100644 --- a/include/bgfx/c99/platform.h +++ b/include/bgfx/c99/platform.h @@ -189,7 +189,7 @@ typedef struct bgfx_interface_vtbl void (*encoder_submit)(struct bgfx_encoder* _encoder, bgfx_view_id_t _id, bgfx_program_handle_t _handle, int32_t _depth, bool _preserveState); void (*encoder_submit_occlusion_query)(struct bgfx_encoder* _encoder, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_occlusion_query_handle_t _occlusionQuery, int32_t _depth, bool _preserveState); void (*encoder_submit_indirect)(struct bgfx_encoder* _encoder, bgfx_view_id_t _id, bgfx_program_handle_t _handle, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, int32_t _depth, bool _preserveState); - void (*encoder_set_image)(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); + void (*encoder_set_image)(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); void (*encoder_set_compute_index_buffer)(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access); void (*encoder_set_compute_vertex_buffer)(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_vertex_buffer_handle_t _handle, bgfx_access_t _access); void (*encoder_set_compute_dynamic_index_buffer)(struct bgfx_encoder* _encoder, uint8_t _stage, bgfx_dynamic_index_buffer_handle_t _handle, bgfx_access_t _access); diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h index 32ad17cde..0c2306aa8 100644 --- a/include/bgfx/defines.h +++ b/include/bgfx/defines.h @@ -6,7 +6,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(59) +#define BGFX_API_VERSION UINT32_C(60) /// Color RGB/alpha/depth write. When it's not specified write will be disabled. #define BGFX_STATE_RGB_WRITE UINT64_C(0x0000000000000001) //!< Enable RGB write. diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 7a660cdad..35f6eff68 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -1771,6 +1771,10 @@ namespace bgfx --m_colorPaletteDirty; bx::memCopy(m_submit->m_colorPalette, m_clearColor, sizeof(m_clearColor) ); } + + freeAllHandles(m_submit); + m_submit->resetFreeHandles(); + m_submit->finish(); bx::xchg(m_render, m_submit); @@ -1787,9 +1791,7 @@ namespace bgfx m_submit->start(); bx::memSet(m_seq, 0, sizeof(m_seq) ); - freeAllHandles(m_submit); - m_submit->resetFreeHandles(); m_submit->m_textVideoMem->resize(m_render->m_textVideoMem->m_small , m_resolution.m_width , m_resolution.m_height @@ -3143,10 +3145,9 @@ error: BGFX_ENCODER(setBuffer(_stage, handle, _access) ); } - void Encoder::setImage(uint8_t _stage, UniformHandle _sampler, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) + void Encoder::setImage(uint8_t _stage, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) { BX_CHECK(_stage < BGFX_CONFIG_MAX_TEXTURE_SAMPLERS, "Invalid stage %d (max %d).", _stage, BGFX_CONFIG_MAX_TEXTURE_SAMPLERS); - BGFX_CHECK_HANDLE("setImage/UniformHandle", s_ctx->m_uniformHandle, _sampler); BGFX_CHECK_HANDLE_INVALID_OK("setImage/TextureHandle", s_ctx->m_textureHandle, _handle); _format = TextureFormat::Count == _format ? TextureFormat::Enum(s_ctx->m_textureRef[_handle.idx].m_format) @@ -3155,7 +3156,7 @@ error: BX_CHECK(_format != TextureFormat::BGRA8 , "Can't use TextureFormat::BGRA8 with compute, use TextureFormat::RGBA8 instead." ); - BGFX_ENCODER(setImage(_stage, _sampler, _handle, _mip, _access, _format) ); + BGFX_ENCODER(setImage(_stage, _handle, _mip, _access, _format) ); } void Encoder::dispatch(ViewId _id, ProgramHandle _program, uint32_t _numX, uint32_t _numY, uint32_t _numZ, uint8_t _flags) @@ -4277,10 +4278,10 @@ error: s_ctx->m_encoder0->setBuffer(_stage, _handle, _access); } - void setImage(uint8_t _stage, UniformHandle _sampler, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) + void setImage(uint8_t _stage, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) { BGFX_CHECK_API_THREAD(); - s_ctx->m_encoder0->setImage(_stage, _sampler, _handle, _mip, _access, _format); + s_ctx->m_encoder0->setImage(_stage, _handle, _mip, _access, _format); } void dispatch(ViewId _id, ProgramHandle _handle, uint32_t _numX, uint32_t _numY, uint32_t _numZ, uint8_t _flags) @@ -5301,11 +5302,10 @@ BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _ bgfx::submit(_id, handle.cpp, indirectHandle.cpp, _start, _num, _depth, _preserveState); } -BGFX_C_API void bgfx_set_image(uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format) +BGFX_C_API void bgfx_set_image(uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format) { - union { bgfx_uniform_handle_t c; bgfx::UniformHandle cpp; } sampler = { _sampler }; union { bgfx_texture_handle_t c; bgfx::TextureHandle cpp; } handle = { _handle }; - bgfx::setImage(_stage, sampler.cpp, handle.cpp, _mip, bgfx::Access::Enum(_access), bgfx::TextureFormat::Enum(_format) ); + bgfx::setImage(_stage, handle.cpp, _mip, bgfx::Access::Enum(_access), bgfx::TextureFormat::Enum(_format) ); } BGFX_C_API void bgfx_set_compute_index_buffer(uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access) @@ -5500,11 +5500,10 @@ BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder* _encoder, bgfx_view_i BGFX_ENCODER(submit(_id, handle.cpp, indirectHandle.cpp, _start, _num, _depth, _preserveState) ); } -BGFX_C_API void bgfx_encoder_set_image(bgfx_encoder* _encoder, uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format) +BGFX_C_API void bgfx_encoder_set_image(bgfx_encoder* _encoder, uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format) { - union { bgfx_uniform_handle_t c; bgfx::UniformHandle cpp; } sampler = { _sampler }; union { bgfx_texture_handle_t c; bgfx::TextureHandle cpp; } handle = { _handle }; - BGFX_ENCODER(setImage(_stage, sampler.cpp, handle.cpp, _mip, bgfx::Access::Enum(_access), bgfx::TextureFormat::Enum(_format) ) ); + BGFX_ENCODER(setImage(_stage, handle.cpp, _mip, bgfx::Access::Enum(_access), bgfx::TextureFormat::Enum(_format) ) ); } BGFX_C_API void bgfx_encoder_set_compute_index_buffer(bgfx_encoder* _encoder, uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access) diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 355e3af61..ec0db4416 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -2230,7 +2230,7 @@ namespace bgfx bind.m_un.m_compute.m_mip = 0; } - void setImage(uint8_t _stage, UniformHandle _sampler, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) + void setImage(uint8_t _stage, TextureHandle _handle, uint8_t _mip, Access::Enum _access, TextureFormat::Enum _format) { Binding& bind = m_bind.m_bind[_stage]; bind.m_idx = _handle.idx; @@ -2238,12 +2238,6 @@ namespace bgfx bind.m_un.m_compute.m_format = uint8_t(_format); bind.m_un.m_compute.m_access = uint8_t(_access); bind.m_un.m_compute.m_mip = _mip; - - if (isValid(_sampler) ) - { - uint32_t stage = _stage; - setUniform(UniformType::Int1, _sampler, &stage, 1); - } } void discard()