This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

FIR Filter on Mali 400

Hi everyone.

We are trying to use mali 400 GP2 for real time audio processing. Audio data is signed short(16 bit).

We implemented FIR filter, but it work very slow for real time processing.

We have some problems to raise productivity.

Data loading and writing(rendering) to textures.

     First problem is that, can't load data to textures as signed, forced to convert each input sample in fragment shader from additional code, if it less than zero, and convert it back when writing output sample.

     Second problem: Can't load each sample to each component, forced to lad data in one color as 8 bit in R and 8 bit in G, or 5 bit in R 6 in G, 5 in B, because of this doing additional calculations.

     Third problem, each component clumps to [0:1],

Can we somehow load signed data, or unsigned short for each of components, is there any way or any extensions to handling this?

We are using mali 400 on A20 under linux.

Thanks and Regards.

Parents
  • Thanks for reply Peter Harris.

    Initially, when testing what can we do on mali  400 for GPGPU, we have done as you say: per-vertex varying loading.It was very slow, but then we didn't know anything, and now we can try it again, but there is one question.


    In FIR filter to get one output sample, we need previews 32(or more) samples, is it possible to access data from current vertex to previews vertexes data, or we must to load all data for all vertexes?


    Thanks and Regards.

Reply
  • Thanks for reply Peter Harris.

    Initially, when testing what can we do on mali  400 for GPGPU, we have done as you say: per-vertex varying loading.It was very slow, but then we didn't know anything, and now we can try it again, but there is one question.


    In FIR filter to get one output sample, we need previews 32(or more) samples, is it possible to access data from current vertex to previews vertexes data, or we must to load all data for all vertexes?


    Thanks and Regards.

Children