Skip to content

Commit ca05018

Browse files
committed
Apply noexcept semantics to most D3D11 code and critical core code elsewhere
1 parent c5c4fa8 commit ca05018

21 files changed

Lines changed: 310 additions & 311 deletions

include/SpecialK/framerate.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,11 @@ namespace SK
151151
void Tick ( bool wait = true,
152152
double dt = 0.0,
153153
LARGE_INTEGER now = { 0,0 },
154-
IUnknown* pSwapChain = nullptr );
154+
IUnknown* pSwapChain = nullptr ) noexcept;
155155
void TickEx ( bool wait = true,
156156
double dt = 0.0,
157157
LARGE_INTEGER now = { 0,0 },
158-
IUnknown* pSwapChain = nullptr );
158+
IUnknown* pSwapChain = nullptr ) noexcept;
159159

160160
#define MAX_SAMPLES 1000
161161

@@ -199,7 +199,7 @@ namespace SK
199199
uint64_t samples = 0ULL;
200200
double last_delta = 0.0;
201201

202-
void reset (void)
202+
void reset (void) noexcept
203203
{
204204
samples = 0ULL;
205205
last_delta = 0.0;
@@ -264,7 +264,7 @@ namespace SK
264264
static_cast <double> (SK_PerfFreq);
265265
}
266266

267-
int calcNumSamples (double seconds = 1.0);
267+
int calcNumSamples (double seconds = 1.0) noexcept;
268268
double calcMean (double seconds = 1.0) noexcept;
269269
double calcSqStdDev (double mean,
270270
double seconds = 1.0) noexcept;
@@ -274,8 +274,8 @@ namespace SK
274274
double mean,
275275
double seconds = 1.0) noexcept;
276276

277-
double calcOnePercentLow (double seconds = 1.0);
278-
double calcPointOnePercentLow (double seconds = 1.0);
277+
double calcOnePercentLow (double seconds = 1.0) noexcept;
278+
double calcPointOnePercentLow (double seconds = 1.0) noexcept;
279279

280280
double calcMean (LARGE_INTEGER start) noexcept
281281
{
@@ -484,7 +484,7 @@ namespace SK
484484
cached_max, cached_hitches,
485485
cached_effective_mean;
486486

487-
void reset (void);
487+
void reset (void) noexcept;
488488
};
489489

490490
class Limiter {
@@ -493,9 +493,9 @@ namespace SK
493493
~Limiter (void) = default;
494494

495495
void init (double target, bool tracks_window = true); // Todo, use an opaque handle to denote which window
496-
void wait (void);
497-
bool try_wait (void); // No actual wait, just return
498-
// whether a wait would have occurred.
496+
void wait (void) noexcept;
497+
bool try_wait (void) noexcept; // No actual wait, just return
498+
// whether a wait would have occurred.
499499

500500
void set_limit (float& target);
501501
double get_limit (void) noexcept { return fps; };
@@ -504,7 +504,7 @@ namespace SK
504504
LONG64 get_next_tick (void) noexcept { return next; };
505505
double get_ms_to_next_tick (float ticks = 1.0f) noexcept;
506506

507-
double effective_frametime (void);
507+
double effective_frametime (void) noexcept;
508508

509509
void set_undershoot (float percent) noexcept { undershoot_percent = percent; };
510510
float get_undershoot (void) noexcept { return undershoot_percent; };
@@ -800,7 +800,7 @@ extern float SK_Framerate_GetSleepWaitMs (void) noexcept;
800800
extern HRESULT WINAPI
801801
SK_DWM_GetCompositionTimingInfo (DWM_TIMING_INFO *pTimingInfo);
802802

803-
void SK_Framerate_WaitUntilQPC (LONGLONG llQPC, HANDLE& hTimer);
803+
void SK_Framerate_WaitUntilQPC (LONGLONG llQPC, HANDLE& hTimer) noexcept;
804804
void SK_Framerate_EnergyControlPanel (void);
805805

806806
bool SK_LatentSync_AllowFrameSkip (void);
@@ -842,9 +842,9 @@ struct game_pacer_s {
842842
DWORD last_paced_time = 0UL;
843843
HANDLE event = 0;
844844

845-
bool isSupported (void);
846-
bool wantPacing (void);
847-
void signalEvent (void);
845+
bool isSupported (void) noexcept;
846+
bool wantPacing (void) noexcept;
847+
void signalEvent (void) noexcept;
848848
} game_pace;
849849

850850

include/SpecialK/input/input.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ extern uint64_t SK_PerfFreq;
4343

4444
#define SK_LOG_INPUT_CALL { static int calls = 0; { SK_LOG0 ( (L"[!] > Call #%lu: %hs", calls++, __FUNCTION__), L"Input Mgr." ); } }
4545

46-
bool SK_ImGui_WantGamepadCapture (bool update = false);
47-
bool SK_ImGui_WantHWCursor (void);
48-
bool SK_ImGui_WantMouseCapture (bool update = false, POINT* ptCursor = nullptr);
46+
bool SK_ImGui_WantGamepadCapture (bool update = false) noexcept;
47+
bool SK_ImGui_WantHWCursor (void) noexcept;
48+
bool SK_ImGui_WantMouseCapture (bool update = false, POINT* ptCursor = nullptr) noexcept;
4949
bool SK_ImGui_WantMouseButtonCapture
50-
(void);
51-
bool SK_ImGui_WantMouseCaptureEx (DWORD dwReasonMask = 0xFFFF, POINT* ptCursor = nullptr);
52-
bool SK_ImGui_WantKeyboardCapture (bool update = false);
53-
bool SK_ImGui_WantTextCapture (void);
54-
void SK_ImGui_UpdateMouseTracker (void);
50+
(void) noexcept;
51+
bool SK_ImGui_WantMouseCaptureEx (DWORD dwReasonMask = 0xFFFF, POINT* ptCursor = nullptr) noexcept;
52+
bool SK_ImGui_WantKeyboardCapture (bool update = false) noexcept;
53+
bool SK_ImGui_WantTextCapture (void) noexcept;
54+
void SK_ImGui_UpdateMouseTracker (void) noexcept;
5555

5656
void SK_Input_HookDI8 (void);
5757
void SK_Input_HookHID (void);
@@ -84,9 +84,9 @@ void SK_Input_SetLatencyMarker (void) noexcept;
8484
// the thread manually so it doesn't crash.
8585
void SK_SDL_ShutdownInput (void);
8686

87-
BOOL __stdcall SK_IsConsoleVisible (void);
87+
BOOL __stdcall SK_IsConsoleVisible (void) noexcept;
8888

89-
SHORT WINAPI SK_GetAsyncKeyState (int vKey);
89+
SHORT WINAPI SK_GetAsyncKeyState (int vKey) noexcept;
9090

9191
bool __SKX_WinHook_InstallInputHooks (HWND hWnd);
9292
bool SK_Input_DetermineMouseIdleState (MSG* lpMsg);
@@ -1311,7 +1311,7 @@ SK_GetRawInputData ( HRAWINPUT hRawInput,
13111311
UINT uiCommand,
13121312
LPVOID pData,
13131313
PUINT pcbSize,
1314-
UINT cbSizeHeader );
1314+
UINT cbSizeHeader ) noexcept;
13151315

13161316
UINT
13171317
WINAPI
@@ -1344,8 +1344,8 @@ LRESULT
13441344
WINAPI
13451345
ImGui_WndProcHandler (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
13461346

1347-
SHORT WINAPI SK_GetKeyState (int nVirtKey);
1348-
BOOL WINAPI SK_GetKeyboardState (PBYTE lpKeyState);
1347+
SHORT WINAPI SK_GetKeyState (int nVirtKey) noexcept;
1348+
BOOL WINAPI SK_GetKeyboardState (PBYTE lpKeyState) noexcept;
13491349

13501350
extern char SK_KeyMap_LeftHand_Arrow (char key);
13511351

include/SpecialK/plugin/nier.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//
1+
//
22
// Copyright 2017 Andon "Kaldaien" Coleman,
33
// Niklas "DrDaxxy" Kielblock,
44
// Peter "Durante" Thoman
@@ -158,7 +158,7 @@ D3D11Dev_CreateBuffer_Override (
158158
_In_ ID3D11Device *This,
159159
_In_ const D3D11_BUFFER_DESC *pDesc,
160160
_In_opt_ const D3D11_SUBRESOURCE_DATA *pInitialData,
161-
_Out_opt_ ID3D11Buffer **ppBuffer );
161+
_Out_opt_ ID3D11Buffer **ppBuffer ) noexcept;
162162

163163
extern
164164
HRESULT
@@ -167,7 +167,7 @@ D3D11Dev_CreateShaderResourceView_Override (
167167
_In_ ID3D11Device *This,
168168
_In_ ID3D11Resource *pResource,
169169
_In_opt_ const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
170-
_Out_opt_ ID3D11ShaderResourceView **ppSRView );
170+
_Out_opt_ ID3D11ShaderResourceView **ppSRView ) noexcept;
171171

172172
extern
173173
HRESULT
@@ -176,7 +176,7 @@ D3D11Dev_CreateRenderTargetView_Override (
176176
_In_ ID3D11Device *This,
177177
_In_ ID3D11Resource *pResource,
178178
_In_opt_ const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
179-
_Out_opt_ ID3D11RenderTargetView **ppRTView );
179+
_Out_opt_ ID3D11RenderTargetView **ppRTView ) noexcept;
180180

181181
extern
182182
HRESULT
@@ -185,7 +185,7 @@ D3D11Dev_CreateUnorderedAccessView_Override (
185185
_In_ ID3D11Device *This,
186186
_In_ ID3D11Resource *pResource,
187187
_In_opt_ const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
188-
_Out_opt_ ID3D11UnorderedAccessView **ppUAView );
188+
_Out_opt_ ID3D11UnorderedAccessView **ppUAView ) noexcept;
189189

190190
extern
191191
void
@@ -194,7 +194,7 @@ D3D11_PSSetConstantBuffers_Override (
194194
_In_ ID3D11DeviceContext* This,
195195
_In_ UINT StartSlot,
196196
_In_ UINT NumBuffers,
197-
_In_opt_ ID3D11Buffer *const *ppConstantBuffers );
197+
_In_opt_ ID3D11Buffer *const *ppConstantBuffers ) noexcept;
198198

199199
extern
200200
void
@@ -203,7 +203,7 @@ D3D11_PSSetShaderResources_Override (
203203
_In_ ID3D11DeviceContext *This,
204204
_In_ UINT StartSlot,
205205
_In_ UINT NumViews,
206-
_In_opt_ ID3D11ShaderResourceView* const *ppShaderResourceViews );
206+
_In_opt_ ID3D11ShaderResourceView* const *ppShaderResourceViews ) noexcept;
207207

208208
extern
209209
void
@@ -212,7 +212,7 @@ D3D11_CSSetShaderResources_Override (
212212
_In_ ID3D11DeviceContext *This,
213213
_In_ UINT StartSlot,
214214
_In_ UINT NumViews,
215-
_In_opt_ ID3D11ShaderResourceView* const *ppShaderResourceViews );
215+
_In_opt_ ID3D11ShaderResourceView* const *ppShaderResourceViews ) noexcept;
216216

217217
extern
218218
void
@@ -222,7 +222,7 @@ D3D11_CSSetUnorderedAccessViews_Override (
222222
_In_ UINT StartSlot,
223223
_In_ UINT NumUAVs,
224224
_In_opt_ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
225-
_In_opt_ const UINT *pUAVInitialCounts );
225+
_In_opt_ const UINT *pUAVInitialCounts ) noexcept;
226226

227227
extern
228228
void
@@ -231,7 +231,7 @@ D3D11_OMSetRenderTargets_Override (
231231
_In_ ID3D11DeviceContext *This,
232232
_In_ UINT NumViews,
233233
_In_opt_ ID3D11RenderTargetView *const *ppRenderTargetViews,
234-
_In_opt_ ID3D11DepthStencilView *pDepthStencilView );
234+
_In_opt_ ID3D11DepthStencilView *pDepthStencilView ) noexcept;
235235

236236
extern
237237
void
@@ -244,7 +244,7 @@ D3D11_OMSetRenderTargetsAndUnorderedAccessViews_Override (
244244
_In_ UINT UAVStartSlot,
245245
_In_ UINT NumUAVs,
246246
_In_opt_ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
247-
_In_opt_ const UINT *pUAVInitialCounts );
247+
_In_opt_ const UINT *pUAVInitialCounts ) noexcept;
248248

249249
extern
250250
void
@@ -255,15 +255,15 @@ D3D11_DrawIndexedInstanced_Override (
255255
_In_ UINT InstanceCount,
256256
_In_ UINT StartIndexLocation,
257257
_In_ INT BaseVertexLocation,
258-
_In_ UINT StartInstanceLocation );
258+
_In_ UINT StartInstanceLocation ) noexcept;
259259

260260
extern
261261
void
262262
WINAPI
263263
D3D11_DrawIndexedInstancedIndirect_Override (
264264
_In_ ID3D11DeviceContext *This,
265265
_In_ ID3D11Buffer *pBufferForArgs,
266-
_In_ UINT AlignedByteOffsetForArgs );
266+
_In_ UINT AlignedByteOffsetForArgs ) noexcept;
267267

268268
extern
269269
void
@@ -273,15 +273,15 @@ D3D11_DrawInstanced_Override (
273273
_In_ UINT VertexCountPerInstance,
274274
_In_ UINT InstanceCount,
275275
_In_ UINT StartVertexLocation,
276-
_In_ UINT StartInstanceLocation );
276+
_In_ UINT StartInstanceLocation ) noexcept;
277277

278278
extern
279279
void
280280
WINAPI
281281
D3D11_DrawInstancedIndirect_Override (
282282
_In_ ID3D11DeviceContext *This,
283283
_In_ ID3D11Buffer *pBufferForArgs,
284-
_In_ UINT AlignedByteOffsetForArgs );
284+
_In_ UINT AlignedByteOffsetForArgs ) noexcept;
285285

286286
extern
287287
void
@@ -293,7 +293,7 @@ D3D11_UpdateSubresource_Override (
293293
_In_opt_ const D3D11_BOX *pDstBox,
294294
_In_ const void *pSrcData,
295295
_In_ UINT SrcRowPitch,
296-
_In_ UINT SrcDepthPitch);
296+
_In_ UINT SrcDepthPitch) noexcept;
297297

298298
extern
299299
HRESULT
@@ -302,7 +302,7 @@ D3D11Dev_CreateTexture2D_Override (
302302
_In_ ID3D11Device *This,
303303
_In_ const D3D11_TEXTURE2D_DESC *pDesc,
304304
_In_opt_ const D3D11_SUBRESOURCE_DATA *pInitialData,
305-
_Out_opt_ ID3D11Texture2D **ppTexture2D );
305+
_Out_opt_ ID3D11Texture2D **ppTexture2D ) noexcept;
306306

307307
extern
308308
void
@@ -311,15 +311,15 @@ D3D11_DrawIndexed_Override (
311311
_In_ ID3D11DeviceContext *This,
312312
_In_ UINT IndexCount,
313313
_In_ UINT StartIndexLocation,
314-
_In_ INT BaseVertexLocation );
314+
_In_ INT BaseVertexLocation ) noexcept;
315315

316316
extern
317317
void
318318
WINAPI
319319
D3D11_Draw_Override (
320320
_In_ ID3D11DeviceContext *This,
321321
_In_ UINT VertexCount,
322-
_In_ UINT StartVertexLocation );
322+
_In_ UINT StartVertexLocation ) noexcept;
323323

324324

325325

0 commit comments

Comments
 (0)