1*e1eccf28SAndroid Build Coastguard Worker #include "rs_core.rsh" 2*e1eccf28SAndroid Build Coastguard Worker #include "rs_structs.h" 3*e1eccf28SAndroid Build Coastguard Worker 4*e1eccf28SAndroid Build Coastguard Worker /** 5*e1eccf28SAndroid Build Coastguard Worker * Sampler 6*e1eccf28SAndroid Build Coastguard Worker */ 7*e1eccf28SAndroid Build Coastguard Worker extern rs_sampler_value __attribute__((overloadable)) rsSamplerGetMinification(rs_sampler s)8*e1eccf28SAndroid Build Coastguard Worker rsSamplerGetMinification(rs_sampler s) { 9*e1eccf28SAndroid Build Coastguard Worker Sampler_t *prog = (Sampler_t *)s.p; 10*e1eccf28SAndroid Build Coastguard Worker if (prog == NULL) { 11*e1eccf28SAndroid Build Coastguard Worker return RS_SAMPLER_INVALID; 12*e1eccf28SAndroid Build Coastguard Worker } 13*e1eccf28SAndroid Build Coastguard Worker return prog->mHal.state.minFilter; 14*e1eccf28SAndroid Build Coastguard Worker } 15*e1eccf28SAndroid Build Coastguard Worker 16*e1eccf28SAndroid Build Coastguard Worker extern rs_sampler_value __attribute__((overloadable)) rsSamplerGetMagnification(rs_sampler s)17*e1eccf28SAndroid Build Coastguard Worker rsSamplerGetMagnification(rs_sampler s) { 18*e1eccf28SAndroid Build Coastguard Worker Sampler_t *prog = (Sampler_t *)s.p; 19*e1eccf28SAndroid Build Coastguard Worker if (prog == NULL) { 20*e1eccf28SAndroid Build Coastguard Worker return RS_SAMPLER_INVALID; 21*e1eccf28SAndroid Build Coastguard Worker } 22*e1eccf28SAndroid Build Coastguard Worker return prog->mHal.state.magFilter; 23*e1eccf28SAndroid Build Coastguard Worker } 24*e1eccf28SAndroid Build Coastguard Worker 25*e1eccf28SAndroid Build Coastguard Worker extern rs_sampler_value __attribute__((overloadable)) rsSamplerGetWrapS(rs_sampler s)26*e1eccf28SAndroid Build Coastguard Worker rsSamplerGetWrapS(rs_sampler s) { 27*e1eccf28SAndroid Build Coastguard Worker Sampler_t *prog = (Sampler_t *)s.p; 28*e1eccf28SAndroid Build Coastguard Worker if (prog == NULL) { 29*e1eccf28SAndroid Build Coastguard Worker return RS_SAMPLER_INVALID; 30*e1eccf28SAndroid Build Coastguard Worker } 31*e1eccf28SAndroid Build Coastguard Worker return prog->mHal.state.wrapS; 32*e1eccf28SAndroid Build Coastguard Worker } 33*e1eccf28SAndroid Build Coastguard Worker 34*e1eccf28SAndroid Build Coastguard Worker extern rs_sampler_value __attribute__((overloadable)) rsSamplerGetWrapT(rs_sampler s)35*e1eccf28SAndroid Build Coastguard Worker rsSamplerGetWrapT(rs_sampler s) { 36*e1eccf28SAndroid Build Coastguard Worker Sampler_t *prog = (Sampler_t *)s.p; 37*e1eccf28SAndroid Build Coastguard Worker if (prog == NULL) { 38*e1eccf28SAndroid Build Coastguard Worker return RS_SAMPLER_INVALID; 39*e1eccf28SAndroid Build Coastguard Worker } 40*e1eccf28SAndroid Build Coastguard Worker return prog->mHal.state.wrapT; 41*e1eccf28SAndroid Build Coastguard Worker } 42*e1eccf28SAndroid Build Coastguard Worker 43*e1eccf28SAndroid Build Coastguard Worker extern float __attribute__((overloadable)) rsSamplerGetAnisotropy(rs_sampler s)44*e1eccf28SAndroid Build Coastguard Worker rsSamplerGetAnisotropy(rs_sampler s) { 45*e1eccf28SAndroid Build Coastguard Worker Sampler_t *prog = (Sampler_t *)s.p; 46*e1eccf28SAndroid Build Coastguard Worker if (prog == NULL) { 47*e1eccf28SAndroid Build Coastguard Worker return 0.0f; 48*e1eccf28SAndroid Build Coastguard Worker } 49*e1eccf28SAndroid Build Coastguard Worker return prog->mHal.state.aniso; 50*e1eccf28SAndroid Build Coastguard Worker } 51