Lines Matching refs:hwdata

147     struct haptic_hwdata *hwdata = (struct haptic_hwdata *) arg;  in SDL_RunXInputHaptic()  local
149 while (!SDL_AtomicGet(&hwdata->stopThread)) { in SDL_RunXInputHaptic()
151 SDL_LockMutex(hwdata->mutex); in SDL_RunXInputHaptic()
153 if (hwdata->stopTicks) { in SDL_RunXInputHaptic()
154 …if ((hwdata->stopTicks != SDL_HAPTIC_INFINITY) && SDL_TICKS_PASSED(SDL_GetTicks(), hwdata->stopTic… in SDL_RunXInputHaptic()
156 hwdata->stopTicks = 0; in SDL_RunXInputHaptic()
157 XINPUTSETSTATE(hwdata->userid, &vibration); in SDL_RunXInputHaptic()
160 SDL_UnlockMutex(hwdata->mutex); in SDL_RunXInputHaptic()
188 haptic->hwdata = (struct haptic_hwdata *) SDL_malloc(sizeof(*haptic->hwdata)); in SDL_XINPUT_HapticOpenFromUserIndex()
189 if (haptic->hwdata == NULL) { in SDL_XINPUT_HapticOpenFromUserIndex()
194 SDL_memset(haptic->hwdata, 0, sizeof(*haptic->hwdata)); in SDL_XINPUT_HapticOpenFromUserIndex()
196 haptic->hwdata->bXInputHaptic = 1; in SDL_XINPUT_HapticOpenFromUserIndex()
197 haptic->hwdata->userid = userid; in SDL_XINPUT_HapticOpenFromUserIndex()
199 haptic->hwdata->mutex = SDL_CreateMutex(); in SDL_XINPUT_HapticOpenFromUserIndex()
200 if (haptic->hwdata->mutex == NULL) { in SDL_XINPUT_HapticOpenFromUserIndex()
202 SDL_free(haptic->hwdata); in SDL_XINPUT_HapticOpenFromUserIndex()
208 …haptic->hwdata->thread = SDL_CreateThreadInternal(SDL_RunXInputHaptic, threadName, 64 * 1024, hapt… in SDL_XINPUT_HapticOpenFromUserIndex()
210 if (haptic->hwdata->thread == NULL) { in SDL_XINPUT_HapticOpenFromUserIndex()
211 SDL_DestroyMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticOpenFromUserIndex()
213 SDL_free(haptic->hwdata); in SDL_XINPUT_HapticOpenFromUserIndex()
230 return (haptic->hwdata->userid == joystick->hwdata->userid); in SDL_XINPUT_JoystickSameHaptic()
241 if (item->bXInputHaptic && item->userid == joystick->hwdata->userid) { in SDL_XINPUT_HapticOpenFromJoystick()
243 return SDL_XINPUT_HapticOpenFromUserIndex(haptic, joystick->hwdata->userid); in SDL_XINPUT_HapticOpenFromJoystick()
255 SDL_AtomicSet(&haptic->hwdata->stopThread, 1); in SDL_XINPUT_HapticClose()
256 SDL_WaitThread(haptic->hwdata->thread, NULL); in SDL_XINPUT_HapticClose()
257 SDL_DestroyMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticClose()
284 SDL_LockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticUpdateEffect()
285 if (haptic->hwdata->stopTicks) { /* running right now? Update it. */ in SDL_XINPUT_HapticUpdateEffect()
286 XINPUTSETSTATE(haptic->hwdata->userid, vib); in SDL_XINPUT_HapticUpdateEffect()
288 SDL_UnlockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticUpdateEffect()
297 SDL_LockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticRunEffect()
299 haptic->hwdata->stopTicks = SDL_HAPTIC_INFINITY; in SDL_XINPUT_HapticRunEffect()
303 haptic->hwdata->stopTicks = SDL_GetTicks() + (effect->effect.leftright.length * iterations); in SDL_XINPUT_HapticRunEffect()
304 … if ((haptic->hwdata->stopTicks == SDL_HAPTIC_INFINITY) || (haptic->hwdata->stopTicks == 0)) { in SDL_XINPUT_HapticRunEffect()
305 haptic->hwdata->stopTicks = 1; /* fix edge cases. */ in SDL_XINPUT_HapticRunEffect()
308 SDL_UnlockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticRunEffect()
309 return (XINPUTSETSTATE(haptic->hwdata->userid, vib) == ERROR_SUCCESS) ? 0 : -1; in SDL_XINPUT_HapticRunEffect()
316 SDL_LockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticStopEffect()
317 haptic->hwdata->stopTicks = 0; in SDL_XINPUT_HapticStopEffect()
318 SDL_UnlockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticStopEffect()
319 return (XINPUTSETSTATE(haptic->hwdata->userid, &vibration) == ERROR_SUCCESS) ? 0 : -1; in SDL_XINPUT_HapticStopEffect()
362 SDL_LockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticStopAll()
363 haptic->hwdata->stopTicks = 0; in SDL_XINPUT_HapticStopAll()
364 SDL_UnlockMutex(haptic->hwdata->mutex); in SDL_XINPUT_HapticStopAll()
365 return (XINPUTSETSTATE(haptic->hwdata->userid, &vibration) == ERROR_SUCCESS) ? 0 : -1; in SDL_XINPUT_HapticStopAll()