BOOLEAN KeSetAutoAlignmentThread ( IN PKTHREAD Thread, IN BOOLEAN Enable ) /*++ Routine Description: This function sets the data alignment handling mode for the specified thread and returns the previous data alignment handling mode. Arguments: Thread - Supplies a pointer to a dispatcher object of type thread. Enable - Supplies a boolean value that determines the handling of data alignment exceptions for the thread. A value of TRUE causes all data alignment exceptions to be automatically handled by the kernel. A value of FALSE causes all data alignment exceptions to be actually raised as exceptions. Return Value: A value of TRUE is returned if data alignment exceptions were previously automatically handled by the kernel. Otherwise, a value of FALSE is returned. --*/ { KIRQL OldIrql; BOOLEAN Previous; ASSERT_THREAD(Thread); // // Raise IRQL to dispatcher level and lock dispatcher database. // KiLockDispatcherDatabase(&OldIrql); // // Capture the previous data alignment handling mode and set the // specified data alignment mode. // Previous = Thread->AutoAlignment; Thread->AutoAlignment = Enable; // // Unlock dispatcher database, lower IRQL to its previous value, and // return the previous data alignment mode. // KiUnlockDispatcherDatabase(OldIrql); return Previous; }
EGLSurface AndroidGLController::ProvideEGLSurface() { ASSERT_THREAD(); jobject jObj = mJEnv->CallObjectMethod(mJObj, jProvideEGLSurfaceMethod); return reinterpret_cast<EGLSurface>(mJEnv->GetIntField(jObj, jEGLSurfacePointerField)); }
void AndroidGLController::WaitForValidSurface() { ASSERT_THREAD(); mJEnv->CallVoidMethod(mJObj, jWaitForValidSurfaceMethod); }
void AndroidGLController::SetGLVersion(int aVersion) { ASSERT_THREAD(); mJEnv->CallVoidMethod(mJObj, jSetGLVersionMethod, aVersion); }