mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Backends: Allegro5: Fixed mishandling of the ImDrawCmd::IdxOffset field. (#4790)
This commit is contained in:
		| @@ -16,6 +16,7 @@ | |||||||
|  |  | ||||||
| // CHANGELOG | // CHANGELOG | ||||||
| // (minor and older changes stripped away, please see git history for details) | // (minor and older changes stripped away, please see git history for details) | ||||||
|  | //  2021-12-08: Renderer: Fixed mishandling of the the ImDrawCmd::IdxOffset field! This is an old bug but it never had an effect until some internal rendering changes in 1.86. | ||||||
| //  2021-08-17: Calling io.AddFocusEvent() on ALLEGRO_EVENT_DISPLAY_SWITCH_OUT/ALLEGRO_EVENT_DISPLAY_SWITCH_IN events. | //  2021-08-17: Calling io.AddFocusEvent() on ALLEGRO_EVENT_DISPLAY_SWITCH_OUT/ALLEGRO_EVENT_DISPLAY_SWITCH_IN events. | ||||||
| //  2021-06-29: Reorganized backend to pull data from a single structure to facilitate usage with multiple-contexts (all g_XXXX access changed to bd->XXXX). | //  2021-06-29: Reorganized backend to pull data from a single structure to facilitate usage with multiple-contexts (all g_XXXX access changed to bd->XXXX). | ||||||
| //  2021-05-19: Renderer: Replaced direct access to ImDrawCmd::TextureId with a call to ImDrawCmd::GetTexID(). (will become a requirement) | //  2021-05-19: Renderer: Replaced direct access to ImDrawCmd::TextureId with a call to ImDrawCmd::GetTexID(). (will become a requirement) | ||||||
| @@ -155,7 +156,6 @@ void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data) | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         // Render command lists |         // Render command lists | ||||||
|         int idx_offset = 0; |  | ||||||
|         ImVec2 clip_off = draw_data->DisplayPos; |         ImVec2 clip_off = draw_data->DisplayPos; | ||||||
|         for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++) |         for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++) | ||||||
|         { |         { | ||||||
| @@ -180,9 +180,8 @@ void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data) | |||||||
|                 // Apply scissor/clipping rectangle, Draw |                 // Apply scissor/clipping rectangle, Draw | ||||||
|                 ALLEGRO_BITMAP* texture = (ALLEGRO_BITMAP*)pcmd->GetTexID(); |                 ALLEGRO_BITMAP* texture = (ALLEGRO_BITMAP*)pcmd->GetTexID(); | ||||||
|                 al_set_clipping_rectangle(clip_min.x, clip_min.y, clip_max.x - clip_min.x, clip_max.y - clip_min.y); |                 al_set_clipping_rectangle(clip_min.x, clip_min.y, clip_max.x - clip_min.x, clip_max.y - clip_min.y); | ||||||
|                 al_draw_prim(&vertices[0], bd->VertexDecl, texture, idx_offset, idx_offset + pcmd->ElemCount, ALLEGRO_PRIM_TRIANGLE_LIST); |                 al_draw_prim(&vertices[0], bd->VertexDecl, texture, pcmd->IdxOffset, pcmd->IdxOffset + pcmd->ElemCount, ALLEGRO_PRIM_TRIANGLE_LIST); | ||||||
|             } |             } | ||||||
|             idx_offset += pcmd->ElemCount; |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -90,8 +90,8 @@ Other Changes: | |||||||
| - Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce | - Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce | ||||||
|   likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling |   likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling | ||||||
|   vkCmdSetScissor() explicitly every frame. (#4644) |   vkCmdSetScissor() explicitly every frame. (#4644) | ||||||
| - Backends: OpenGL2, Marmalade: Fixed mishandling of the ImDrawCmd::IdxOffset field. This is an old bug, | - Backends: OpenGL2, Allegro5, Marmalade: Fixed mishandling of the ImDrawCmd::IdxOffset field. | ||||||
|   but due to the way we created drawlists, it never had any visible side-effect before. |   This is an old bug, but due to the way we created drawlists, it never had any visible side-effect before. | ||||||
|   The new code for handling Modal and CTRL+Tab dimming/whitening recently made the bug surface. (#4790) |   The new code for handling Modal and CTRL+Tab dimming/whitening recently made the bug surface. (#4790) | ||||||
| - Backends: DX12: Fixed DRAW_EMPTY_SCISSOR_RECTANGLE warnings. (#4775) | - Backends: DX12: Fixed DRAW_EMPTY_SCISSOR_RECTANGLE warnings. (#4775) | ||||||
| - Backends: SDL_Renderer: Added support for large meshes (64k+ vertices) with 16-bit indices, | - Backends: SDL_Renderer: Added support for large meshes (64k+ vertices) with 16-bit indices, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user