-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Description:
I'm encountering an issue where the glDrawElements hook (hk_DrawElements) is not being triggered when using this OpenGL DLL proxy in BlueStacks 5 (Android Pie 64-bit emulator) with OpenGL rendering mode enabled. Instead, other functions like glViewport, glReadBuffer, and glReadPixels are being called successfully.
This prevents me from intercepting and modifying the game's rendering pipeline as expected.
Environment:
OS: Windows 11
Emulator: BlueStacks 5 (last version)
Emulator settings: Pie 64-bit, OpenGL rendering mode enabled
Graphics driver: NVIDIA GeForce 1650
Steps to Reproduce:
Install and run BlueStacks 5 in Pie 64-bit mode with OpenGL rendering.
Replace the OpenGL DLL with the proxy version from this repo.
Launch the any application inside the emulator.
Monitor hooks: hk_DrawElements is never called, but hk_Viewport, hk_ReadBuffer, and hk_ReadPixels are triggered during rendering (to do this, I just added a trigger message to some of the hooks).
Expected Behavior:
The glDrawElements hook should be intercepted and called during the rendering of draw calls, similar to how it works in other OpenGL environments.
Actual Behavior:
Only auxiliary functions are hooked; core draw functions like glDrawElements are bypassed or not routed through the proxy.
Additional Context:
This proxy works partially (as evidenced by the other hooks firing).
For comparison: In the original ReShade source (used in the same BlueStacks setup), glDrawElements was hooked successfully, allowing me to modify the game's render pipeline without issues.
No errors in logs or crashes observed. The application renders normally, but without the draw hook, the proxy's intended functionality is incomplete.
Possible Leads:
Could this be related to BlueStacks' custom OpenGL implementation or ES compatibility layer?
Any known limitations with Android emulators or 64-bit Pie?
I'd appreciate any insights, workarounds, or fixes. Happy to provide logs, traces, or test builds if needed!